diff options
author | Xavier Claessens <xclaesse@src.gnome.org> | 2007-06-01 23:29:18 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2007-06-01 23:29:18 +0800 |
commit | 86381b9188f51cb87cd074835b4eb42cc10e721f (patch) | |
tree | db8a6d3d77ae59ced74268baf6c6ba7b4e88c99c | |
parent | 2b97b3d9e72dcbb6ac6132ae9278baebed923162 (diff) | |
download | gsoc2013-empathy-EMPATHY_0_6.tar.gz gsoc2013-empathy-EMPATHY_0_6.tar.zst gsoc2013-empathy-EMPATHY_0_6.zip |
Tagged for release 0.6.EMPATHY_0_6
svn path=/tags/EMPATHY_0_6/; revision=108
240 files changed, 126320 insertions, 0 deletions
diff --git a/trunk/AUTHORS b/trunk/AUTHORS new file mode 100644 index 000000000..2847eaa37 --- /dev/null +++ b/trunk/AUTHORS @@ -0,0 +1,4 @@ +Mikael Hallendal <micke@imendio.com> +Richard Hult <richard@imendio.com> +Martyn Russell <martyn@gnome.org> +Xavier Claessens <xclaesse@gmail.com> diff --git a/trunk/CONTRIBUTORS b/trunk/CONTRIBUTORS new file mode 100644 index 000000000..232f6c27f --- /dev/null +++ b/trunk/CONTRIBUTORS @@ -0,0 +1,19 @@ +Andreas Lööw +Aurelien Naldi +Bastien Nocera +Christoffer Olsen +Frederic Crozat +Geert-Jan Van den Bogaerde +Johan Hammar +Jonatan Magnusson +Jordi Mallach +Kim Andersen +Martyn Russell +Mike Gratton +Ross Burton +Sjoerd Simons +Thomas Reynolds +Vincent Untz +Xavier Claessens +Andreas Nilsson +Vinicius Depizzol diff --git a/trunk/COPYING b/trunk/COPYING new file mode 100644 index 000000000..d60c31a97 --- /dev/null +++ b/trunk/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + 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 +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. + + 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. + + 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. + + 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 +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 +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 +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 + + 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 +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 +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 + 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 + + +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: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision 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. diff --git a/trunk/ChangeLog b/trunk/ChangeLog new file mode 100644 index 000000000..b7000fe41 --- /dev/null +++ b/trunk/ChangeLog @@ -0,0 +1,380 @@ +2007-05-31 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-new-chatroom-dialog.c: No need to RequestHandle, + MissionControl has API to request the channel from handle string. + + * libempathy-gtk/empathy-main-window.c: Request room channel when + clicking on favorite rooms. + + * TODO: Add a task: supporting registering. + +2007-05-31 Xavier Claessens <xclaesse@gmail.com> + + * libempathy/empathy-idle.c: Do not restore away presence message when + coming back after the user set manually to away. + +2007-05-31 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-account-chooser.c: Fix warning when selecting + all accounts. + + * src/empathy-accounts-main.c: + * libempathy-gtk/empathy-status-icon.c: + * libempathy-gtk/gossip-accounts-dialog.h: + * libempathy-gtk/gossip-accounts-dialog.c: + * libempathy-gtk/gossip-preferences.h: + * libempathy-gtk/gossip-preferences.c: Set parent window. + + * libempathy-gtk/empathy-main-window.c: Implement favorite chatroom + menu and fix a leak. + + * libempathy-gtk/Makefile.am: + * libempathy/Makefile.am: + * libempathy/gossip-chatroom.c: + * libempathy/gossip-chatroom.h: + * libempathy/gossip-chatroom-manager.c: + * libempathy/gossip-chatroom-manager.h: + * libempathy/gossip-chatroom-manager.dtd: + * libempathy-gtk/gossip-chatrooms-window.glade: + * libempathy-gtk/gossip-chatrooms-window.c: + * libempathy-gtk/gossip-chatrooms-window.h: New files to implement + favorite chatrooms and a window to show them. + + + * libempathy-gtk/gossip-chat.c: Fix tooltip leaked. + + * libempathy-gtk/gossip-chat-window.h: + * libempathy-gtk/gossip-chat-window.c: Do not use deprecated + gtk_object_sink(). Implement favorite chatroom features. Find a chat + by comparing the account AND the chat ID. + + * src/empathy-chat-main.c: + * libempathy/empathy-tp-chat.h: + * libempathy/empathy-tp-chat.c: + * libempathy/gossip-utils.h: + * libempathy/gossip-utils.c: empathy_tp_chat_get_id() returns the Text + channel's name. The chat ID is unique only for a specified account. + + * libempathy/empathy-tp-contact-list.c: Fix some leaks and add a FIXME + comment for a leak not yet fixed. + + * TODO: Would be cool to have a glade catalog for libempathy-gtk. + +2007-05-26 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-contact-list-store.c: Do not highlight contacts + already known when creating the contact list. + * libempathy/empathy-tp-contact-list.c: Do not set alias if DBus + returns an error. Fixes bug #442639. + * libempathy/empathy-idle.c: Do not set status message to + "Extended autoaway", let user's message unchanged. + +2007-05-25 Xavier Claessens <xclaesse@gmail.com> + + * configure.ac: Bump version to 0.6 + +2007-05-25 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-group-chat.c: Fix refcounting of + GossipGroupChat. + * libempathy/empathy-tp-contact-list.c: Add debug message when alias + request fails. + * data/22x22/empathy-group-message.png: + * data/22x22/Makefile.am: Add group message icon. +2007-05-25 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-new-chatroom-dialog.c: Do not use the server + entry's value if it's hidden. + * libempathy-gtk/gossip-contact-list-view.c: Do not highlight groups + when adding them in the roster. + * libempathy/empathy-tp-contact-list.c: Do not create new GossipContact + object in presence/avatar/alias changed signal if we don't already know + that contact from a contact list channel. This should fix DBus max + pending calls limit reached in some cases. + +2007-05-25 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-new-chatroom-dialog.c: Preset the server only + for jabber protocol to conference.server. This fixes a warning. + + * libempathy-gtk/gossip-group-chat.h: + * libempathy-gtk/gossip-group-chat.c: gossip_group_chat_set_topic() is + a public function. + + * libempathy-gtk/empathy-images.h: + * libempathy-gtk/empathy-main-window.glade: + * libempathy-gtk/empathy-status-icon.glade: Make use of + empathy-new-message icon name. + + * libempathy-gtk/gossip-contact-list-store.c: By default we sort by + contacts names. + + * libempathy-gtk/gossip-chat.c: Do not display composing state if + it's our own contact that is composing. + + * src/empathy-chat-main.c: + * libempathy/empathy-tp-chat.c: + * libempathy/empathy-tp-chat.h: Make possible to build the id based on + the account and the channel's name. For private chats that means the + contact's id. + + * libempathy-gtk/gossip-chat-window.c: Un-comment the code related to + chatrooms that is now implemented. We can now Show/Hide contact list + for group chats, DnD contact on the window to begin a discussion, join + a new chatroom. + + * libempathy-gtk/gossip-account-chooser.c: Add a FIXME message. + + * data/22x22/empathy-new-message.png: + * data/22x22/empathy-proto-irc.png: + * data/22x22/Makefile.am: + * data/32x32/empathy-proto-irc.png: + * data/32x32/Makefile.am: + * data/gtalk.profile: + * data/16x16/empathy-new-message: + * data/16x16/empathy-message-new.png: + * data/16x16/empathy-proto-irc.png: + * data/16x16/Makefile.am: + * data/scalable/empathy-proto-irc.svg: + * data/scalable/Makefile.am: + * data/irc.profile: Adding icons for empathy-new-message and IRC + protocol. Make use of the irc icon in the irc profile. + +2007-05-24 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-new-chatroom-dialog.c: + * libempathy-gtk/empathy-main-window.c: White space fix. + +2007-05-24 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-account-chooser.c: + * libempathy-gtk/gossip-new-chatroom-dialog.c: + * libempathy-gtk/gossip-account-widget-jabber.c: + * libempathy-gtk/gossip-account-chooser.h: + * libempathy-gtk/gossip-new-chatroom-dialog.h: + * libempathy-gtk/gossip-group-chat.c: + * libempathy-gtk/empathy-main-window.c: + * libempathy-gtk/gossip-new-chatroom-dialog.glade: + * libempathy-gtk/gossip-account-widget-jabber.glade: + * libempathy-gtk/Makefile.am: + * libempathy/empathy-tp-chatroom.c: + * data/gtalk.profile: + * data/jabber.profile: + * data/salut.profile: + * data/Makefile.am: + * data/empathy.desktop.in.in: + * data/msn.profile: + * data/irc.profile: New objects: GossipAccountChooser and + GossipNewChatroom, we can now join any chatroom. Adding IRC profile. + +2007-05-21 Xavier Claessens <xclaesse@gmail.com> + + * libempathy/empathy-idle.c: If we are offline do not set away on idle. + If we are already away restore to available when we are no mode idle. + Do no modify status message. + +2007-05-21 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-group-chat.c: + * libempathy-gtk/gossip-group-chat.h: + * libempathy-gtk/gossip-private-chat.c: + * libempathy-gtk/gossip-private-chat.h: + * libempathy-gtk/gossip-group-chat.glade: + * libempathy-gtk/Makefile.am: + * src/empathy-chat-main.c: + * libempathy/empathy-tp-contact-list.c: + * libempathy/gossip-telepathy-group.c: + * libempathy/gossip-telepathy-group.h: + * libempathy/empathy-tp-chatroom.c: + * libempathy/empathy-tp-chatroom.h: Implementing basic chatroom support. + Actually it works only if we get invited in a chatroom. + +2007-05-20 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-chat-view.c: Correctly remember the contact + who sent last message. + +2007-05-20 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-chat-view.c: Correctly remember if last message + comes from the self contact or another. + +2007-05-20 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-contact-list-model.c: + * libempathy-gtk/gossip-contact-list-model.h: Removed. + * libempathy-gtk/gossip-contact-list-view.c: + * libempathy-gtk/gossip-contact-list-view.h: Added. + +2007-05-20 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-contact-list-store.c: Set COL_NAME earlier like + that it can directly be sorted. + * data/empathy.schemas.in: s/gossip/empathy/ + +2007-05-20 Xavier Claessens <xclaesse@gmail.com> + + * configure.ac: Bump version to 0.5 + +2007-05-20 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-contact-list-store.c: Allow to set custom + function for getting groups of a contact. Make possible to have groups + for presence or role/affiliation in chatroom for example. + * libempathy-gtk/gossip-contact-list-store.h: Allow to set custom + function to handle DnD of contact. Useful when a custom function is set + for groups. + * src/empathy-chat-main.c: Minor fix. + * TODO: + * po/POTFILES.in: Updated. + +2007-05-19 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/Makefile.am: + * libempathy/empathy-tp-chat.c: + * libempathy/empathy-contact-manager.c: + * libempathy/empathy-contact-list.c: Fix indentation + * libempathy/empathy-tp-contact-list.c: Fix not returning the contact + in tp_contact_list_find() + * TODO: Updated. + +2007-05-19 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-contact-list-store.c: + * libempathy-gtk/gossip-preferences.c: + * libempathy-gtk/gossip-contact-list-store.h: + * libempathy-gtk/gossip-contact-list.c: + * libempathy-gtk/gossip-contact-list.h: + * libempathy-gtk/empathy-main-window.c: + * libempathy-gtk/gossip-contact-list-model.c: + * libempathy-gtk/gossip-contact-list-model.h: + * libempathy-gtk/Makefile.am: + * libempathy/empathy-marshal.list: Split GossipContactList into + two objects: GossipContactListStore inheriting from GtkTreeStore and + GossipContactListView inheriting from GtkTreeView. This makes + easier to build new UI widgets reusing the GtkTreeModel. + +2007-05-19 Xavier Claessens <xclaesse@gmail.com> + + * libempathy/empathy-idle.c: Auto away when session id idle, instead of + when screensaver is active. + +2007-05-18 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-private-chat.h: + * libempathy-gtk/gossip-contact-list.c: + * libempathy-gtk/gossip-chat.c: + * libempathy-gtk/gossip-chat.h: + * libempathy-gtk/gossip-chat-window.c: + * libempathy-gtk/Makefile.am: + * libempathy-gtk/gossip-chat-view.c: + * libempathy-gtk/gossip-private-chat.c: + * src/empathy-chat-main.c: + * libempathy/gossip-utils.c: + * libempathy/gossip-contact.h: + * libempathy/empathy-tp-chat.c: + * libempathy/gossip-utils.h: + * libempathy/empathy-contact-manager.c: + * libempathy/empathy-contact-manager.h: + * libempathy/empathy-tp-contact-list.c: + * libempathy/empathy-tp-contact-list.h: + * libempathy/empathy-tp-chatroom.c: + * libempathy/empathy-tp-chatroom.h: + * libempathy/empathy-contact-list.c: + * libempathy/empathy-contact-list.h: + * libempathy/Makefile.am: + * libempathy/gossip-contact.c: EmpathyContactList is now an interface + implemented by EmpathyTpContactList, EmpathyContactManager and + EmpathyTpChatroom. GossipContactList use that interface to display a + treeview. + +2007-05-17 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-chat.c: Display ChatState. + +2007-05-16 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/empathy-status-icon.c: + * libempathy/empathy-idle.c: + * libempathy/empathy-idle.h: + * libempathy/Makefile.am: + * po/POTFILES.in: New object EmpathyIdle to manage autoaway and + extended autoaway states. + +2007-05-15 Xavier Claessens <xclaesse@gmail.com> + + * configure.ac: + * data/empathy.desktop.in: + * data/Makefile.am: + * data/empathy.desktop.in.in: + * po/POTFILES.in: Set bugzilla information in desktop file and add it + to POTFILES.in + +2007-05-15 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/empathy-status-icon.glade: + * libempathy-gtk/empathy-main-window.glade: Fix using of gossip icons + in menus. + +2007-05-14 Xavier Claessens <xclaesse@gmail.com> + + * src/empathy-chat-main.c: + * src/empathy-main.c: + * configure.ac: + * data/22x22/Makefile.am: + * data/22x22/empathy.png: + * data/48x48: + * data/48x48/Makefile.am: + * data/48x48/empathy.png: + * data/32x32/Makefile.am: + * data/32x32/empathy.png: + * data/16x16/empathy.png: + * data/16x16/Makefile.am: + * data/scalable/empathy.svg: + * data/scalable/Makefile.am: + * data/Makefile.am: Add empathy icon stolen from cohoba. + +2007-05-14 Xavier Claessens <xclaesse@gmail.com> + + * src/empathy-chat-main.c: + * src/Makefile.am: + * src/empathy-main.c: + * po/POTFILES.in + * po/LINGUAS: + * TODO: Setting up i18n support. + + * po/Makefile.in.in: Removed, it's generated at build time. + +2007-05-13 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-account-widget-jabber.glade: Add an example + label for jid. + +2007-05-13 Xavier Claessens <xclaesse@gmail.com> + + * libempathy-gtk/gossip-chat-window.c: + * libempathy-gtk/gossip-chat-window.h: + * src/empathy-chat-main.c: + * libempathy/empathy-tp-chat.c: + * libempathy/empathy-tp-chat.h: When a new text channel arrives, check + if there is no existing GossipChat object for it. + +2007-05-13 Xavier Claessens <xclaesse@gmail.com> + + * src/Makefile.am: + * src/empathy-contact-list-main.c: Removing empathy-contact-list + program, it's useless. + +2007-05-13 Xavier Claessens <xclaesse@gmail.com> + + * configure.ac: Change version from 0.3darcs to 0.3svn + +2007-05-13 Xavier Claessens <xclaesse@gmail.com> + + * autogen.sh: Set executable + * po/POTFILES.in: Update translatable files + +2007-03-16 Xavier Claessens <xclaesse@gmail.com> + + * Initial version + diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS new file mode 100644 index 000000000..422a3ed6c --- /dev/null +++ b/trunk/MAINTAINERS @@ -0,0 +1 @@ +Xavier Claessens <xclaesse@gmail.com> diff --git a/trunk/Makefile.am b/trunk/Makefile.am new file mode 100644 index 000000000..cc530dd66 --- /dev/null +++ b/trunk/Makefile.am @@ -0,0 +1,28 @@ +SUBDIRS = po data libempathy libempathy-gtk src + +DISTCHECK_CONFIGURE_FLAGS = \ + --disable-scrollkeeper + +INTLTOOL = \ + intltool-extract.in \ + intltool-merge.in \ + intltool-update.in + +EXTRA_DIST = \ + ChangeLog \ + README \ + CONTRIBUTORS \ + $(INTLTOOL) + +DISTCLEANFILES = \ + intltool-extract \ + intltool-merge \ + intltool-update + +# Workaround broken scrollkeeper that doesn't remove its files on +# uninstall. +distuninstallcheck_listfiles = find . -type f -print | grep -v '^\./var/scrollkeeper' + +dist-hook: + chmod a+w ${distdir}/ChangeLog + if test -d _darcs; then darcs changes >${distdir}/ChangeLog; fi diff --git a/trunk/NEWS b/trunk/NEWS new file mode 100644 index 000000000..e0bfda073 --- /dev/null +++ b/trunk/NEWS @@ -0,0 +1,47 @@ +NEW in 0.6: +=========== + - Join room when clicking on favorite rooms. + - Do not restore away presence message when coming back after the user set + manually to away. + - Set parent window when poping a new window/dialog. + - Implement favorite chatroom menu. + - Do not highlight contacts already known when creating the contact list. + - Do not set status message to "Extended autoaway", let user's message + unchanged. + - Many bugs and leaks fixed. + +NEW in 0.5: +=========== + - Do not highlight groups when adding them in the roster. + - Do not create new GossipContact object in presence/avatar/alias changed + signal if we don't already know that contact from a contact list channel. + This should fix DBus max pending calls limit reached in some cases. + - New icon for empathy-new-message, empathy-group-message and + empathy-proto-irc. + - Chatroom support. New objects: GossipNewChatroomDialog, GossipAccountChooser, + GossipGroupChat + - If we are offline do not set away on idle. If we are already away restore to + available when we are no mode idle. Do no modify status message. + - Fixed message displaying with fancy themes. + - Many bugs fixed. + +NEW in 0.4: +=========== + - contact list refactoring: EmpathyContactList is an iface implemented by + EmpathyTpContactList, EmpathyContactManager and EmpathyTpChatroom. + GossipContactList splitted into GossipContactListStore and + GossipContactListView, it can display any object implementing the + EmpathyContactList iface. Make possible to set custom functions to define + the groups of a contact, by default it gets the "group" property of the + GossipContact object. This make possible to reuse the contact list UI from + the main window for chatrooms where groups are the role/affiliation of the + contact on that room. + - Auto away when gnome-screensaver says the session is idle and extended away + 30min after that. + - Display ChatState when the contact is composing. + - Bugbuddy now reports crashes to GNOME Bugzilla. + - New program icon. + - Setting i18n support and importing po files from gossip. + - Add an example label for jid. + - Do not open chat window twice for the same conversation. + diff --git a/trunk/README b/trunk/README new file mode 100644 index 000000000..0bc5d3056 --- /dev/null +++ b/trunk/README @@ -0,0 +1,12 @@ +How to use empathy ? + +1) Install +$ ./autogen +$ make && make install + +2) Start empathy +$ empathy +This will start MC, connect all enabled accounts and add a GtkStatusIcon. If you +start a private chat or someone is saying something to you, empathy-chat will be +started automagicaly and display a chat UI for your conversation. + diff --git a/trunk/TODO b/trunk/TODO new file mode 100644 index 000000000..f6d5d9cd5 --- /dev/null +++ b/trunk/TODO @@ -0,0 +1,22 @@ +Things you can do if you want to help: + + - Rename all files and functions name to use the empathy namespace. + - Porting gossip-account-widget-*.{c,h} from gossip project (Guillaume is already working on IRC widget). + - Porting various UI widgets from gossip to libempathy-gtk for contact info, adding contact, personal info, etc. + - GtkWidget-ify gossip widgets imported in libempathy-gtk. Actually most window/dialog do not inherit from GtkWindow/GtkDialog. Need to create a glade catalog. + - Fix setting subscription for contacts in EmpathyTpContactList. + - Filter channels before dispatching them. For example we need a GtkStatusIcon that blink when an event arrives (text/voip/ft channel) and tells the MC to dispatch the channel only when the user clicked the icon. Like in gossip. For that we need a filter DBus API in MC, not yet written. + - Make use of NetworkManager to set the presence + - Remove Quit option everywhere, empathy is a session service and shouldn't be leaved. + - Add sound events + - Import loggin system from gossip + - Add register capability in GossipAccountsDialog if the profile says it's supported. + - Testing and Bugfixing. + +SoC projects: + - Adding VoIP support based on the patch proposed for gossip. + - Adding FileTransfer support. + +If you want to contribute you can ask for information at + - #telepathy on freenode + - Telepathy's mailing list. diff --git a/trunk/acinclude.m4 b/trunk/acinclude.m4 new file mode 100644 index 000000000..3120d8620 --- /dev/null +++ b/trunk/acinclude.m4 @@ -0,0 +1,65 @@ +dnl Turn on the additional warnings last, so -Werror doesn't affect other tests. + +AC_DEFUN([IDT_COMPILE_WARNINGS],[ + if test -f $srcdir/autogen.sh; then + default_compile_warnings="error" + else + default_compile_warnings="no" + fi + + AC_ARG_WITH(compile-warnings, + AS_HELP_STRING([--with-compile-warnings=@<:@no/yes/error@:>@], + [Compiler warnings]), + [enable_compile_warnings="$withval"], + [enable_compile_warnings="$default_compile_warnings"]) + + warnCFLAGS= + if test "x$GCC" != xyes; then + enable_compile_warnings=no + fi + + warning_flags= + realsave_CFLAGS="$CFLAGS" + + case "$enable_compile_warnings" in + no) + warning_flags= + ;; + yes) + warning_flags="-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations" + ;; + maximum|error) + warning_flags="-Wall -Wunused -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith" + CFLAGS="$warning_flags $CFLAGS" + for option in -Wno-sign-compare -Wno-pointer-sign; do + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $option" + AC_MSG_CHECKING([whether gcc understands $option]) + AC_TRY_COMPILE([], [], + has_option=yes, + has_option=no,) + CFLAGS="$SAVE_CFLAGS" + AC_MSG_RESULT($has_option) + if test $has_option = yes; then + warning_flags="$warning_flags $option" + fi + unset has_option + unset SAVE_CFLAGS + done + unset option + if test "$enable_compile_warnings" = "error" ; then + warning_flags="$warning_flags -Werror" + fi + ;; + *) + AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings) + ;; + esac + CFLAGS="$realsave_CFLAGS" + AC_MSG_CHECKING(what warning flags to pass to the C compiler) + AC_MSG_RESULT($warning_flags) + + WARN_CFLAGS="$warning_flags" + AC_SUBST(WARN_CFLAGS) +]) + diff --git a/trunk/autogen.sh b/trunk/autogen.sh new file mode 100755 index 000000000..c5d700121 --- /dev/null +++ b/trunk/autogen.sh @@ -0,0 +1,175 @@ +#!/bin/sh +# Run this to generate all the initial makefiles, etc. + +: ${AUTOCONF=autoconf} +: ${AUTOHEADER=autoheader} +: ${AUTOMAKE=automake-1.9} +: ${ACLOCAL=aclocal-1.9} +: ${LIBTOOLIZE=libtoolize} +: ${INTLTOOLIZE=intltoolize} +: ${LIBTOOL=libtool} +: ${GNOME_DOC_PREPARE=gnome-doc-prepare} + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir +PROJECT="empathy" +TEST_TYPE=-f +FILE=src/empathy-main.c +CONFIGURE=configure.ac + +DIE=0 + +($AUTOCONF --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "You must have autoconf installed to compile $PROJECT." + echo "Download the appropriate package for your distribution," + echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" + DIE=1 +} + +(grep "^AC_PROG_INTLTOOL" $srcdir/$CONFIGURE >/dev/null) && { + ($INTLTOOLIZE --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "You must have \`intltoolize' installed to compile $PROJECT." + echo "Get ftp://ftp.gnome.org/pub/GNOME/stable/sources/intltool/intltool-0.35.tar.gz" + echo "(or a newer version if it is available)" + DIE=1 + } +} + +(grep "^GNOME_DOC_INIT" $srcdir/$CONFIGURE >/dev/null) && { + ($GNOME_DOC_PREPARE --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "You must have \`gnome-doc-prepare' installed to compile $PROJECT." + DIE=1 + } +} + +($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "You must have automake 1.9 installed to compile $PROJECT." + echo "Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.9.6.tar.gz" + echo "(or a newer version of 1.9.x if it is available)" + DIE=1 +} + +(grep "^AM_PROG_LIBTOOL" $CONFIGURE >/dev/null) && { + ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have \`libtool' installed to compile $PROJECT." + echo "Get ftp://ftp.gnu.org/pub/gnu/libtool/libtool-1.5.22.tar.gz" + echo "(or a newer version if it is available)" + DIE=1 + } +} + +if grep "^AM_[A-Z0-9_]\{1,\}_GETTEXT" "$CONFIGURE" >/dev/null; then + if grep "sed.*POTFILES" "$CONFIGURE" >/dev/null; then + GETTEXTIZE="" + else + if grep "^AM_GLIB_GNU_GETTEXT" "$CONFIGURE" >/dev/null; then + GETTEXTIZE="glib-gettextize" + GETTEXTIZE_URL="ftp://ftp.gtk.org/pub/gtk/v2.0/glib-2.0.0.tar.gz" + else + GETTEXTIZE="gettextize" + GETTEXTIZE_URL="ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz" + fi + + $GETTEXTIZE --version < /dev/null > /dev/null 2>&1 + if test $? -ne 0; then + echo + echo "**Error**: You must have \`$GETTEXTIZE' installed to compile $PKG_NAME." + echo "Get $GETTEXTIZE_URL" + echo "(or a newer version if it is available)" + DIE=1 + fi + fi +fi + +if test "$DIE" -eq 1; then + exit 1 +fi + +test $TEST_TYPE $FILE || { + echo "You must run this script in the top-level $PROJECT directory" + exit 1 +} + +#if test -z "$*"; then +# echo "I am going to run ./configure with no arguments - if you wish " +# echo "to pass any to it, please specify them on the $0 command line." +#fi + +case $CC in +*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;; +esac + +for coin in . +do + dr=`dirname $coin` + if test -f $dr/NO-AUTO-GEN; then + echo skipping $dr -- flagged as no auto-gen + else + echo processing $dr + macrodirs= #`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin` + ( cd $dr + aclocalinclude="$ACLOCAL_FLAGS" + for k in $macrodirs; do + if test -d $k; then + aclocalinclude="$aclocalinclude -I $k" + ##else + ## echo "**Warning**: No such directory \`$k'. Ignored." + fi + done + if grep "^AM_GLIB_GNU_GETTEXT" $CONFIGURE >/dev/null; then + if grep "sed.*POTFILES" $CONFIGURE >/dev/null; then + : do nothing -- we still have an old unmodified $CONFIGURE + else + echo "Creating $dr/aclocal.m4 ..." + test -r $dr/aclocal.m4 || touch $dr/aclocal.m4 + echo "Running glib-gettextize... Ignore non-fatal messages." + echo "no" | glib-gettextize --force --copy + echo "Making $dr/aclocal.m4 writable ..." + test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4 + fi + fi + if grep "^IT_PROG_INTLTOOL" $CONFIGURE >/dev/null; then + echo "Running intltoolize..." + intltoolize --copy --force --automake + fi + if grep "^GNOME_DOC_INIT" $CONFIGURE >/dev/null; then + echo "Running $GNOME_DOC_PREPARE..." + $GNOME_DOC_PREPARE --force --copy || exit 1 + fi + if grep "^AM_PROG_LIBTOOL" $CONFIGURE >/dev/null; then + echo "Running $LIBTOOLIZE..." + $LIBTOOLIZE --force --copy + fi + echo "Running $ACLOCAL $aclocalinclude ..." + $ACLOCAL $aclocalinclude + if grep "^AM_CONFIG_HEADER" $CONFIGURE >/dev/null; then + echo "Running $AUTOHEADER..." + $AUTOHEADER + fi + echo "Running $AUTOMAKE --gnu $am_opt ..." + $AUTOMAKE --add-missing --gnu $am_opt + echo "Running $AUTOCONF ..." + $AUTOCONF + ) + fi +done + +conf_flags="--enable-maintainer-mode" + +cd "$ORIGDIR" + +if test x$NOCONFIGURE = x; then + echo Running $srcdir/configure $conf_flags "$@" ... + $srcdir/configure $conf_flags "$@" \ + && echo Now type \`make\' to compile $PROJECT || exit 1 +else + echo Skipping configure process. +fi diff --git a/trunk/configure.ac b/trunk/configure.ac new file mode 100644 index 000000000..a6ca3c414 --- /dev/null +++ b/trunk/configure.ac @@ -0,0 +1,99 @@ +AC_INIT(Empathy, 0.6, http://bugzilla.gnome.org/browse.cgi?product=empathy) +AC_PREREQ(2.59) +AC_COPYRIGHT([Copyright (C) 2003-2007 Imendio AB]) + +AM_CONFIG_HEADER(config.h) +AM_INIT_AUTOMAKE(1.9 dist-bzip2 no-define) + +AM_MAINTAINER_MODE + +AC_ISC_POSIX +AC_PROG_CC +AC_HEADER_STDC + +AM_PROG_LIBTOOL +AM_PATH_GLIB_2_0 +AC_PATH_XTRA + +AC_PATH_PROG(DBUS_BINDING_TOOL, dbus-binding-tool) +AC_PATH_PROG(GCONFTOOL, gconftool-2) +AM_GCONF_SOURCE_2 + +IT_PROG_INTLTOOL([0.35.0]) + +GLIB_REQUIRED=2.12.0 +GTK_REQUIRED=2.10.0 +GCONF_REQUIRED=1.2.0 +LIBGLADE_REQUIRED=2.0.0 +TELEPATHY_REQUIRED=0.0.51 +MISSION_CONTROL_REQUIRED=4.22 + +IDT_COMPILE_WARNINGS + +GLIB_GENMARSHAL=`$PKG_CONFIG glib-2.0 --variable=glib_genmarshal` +AC_SUBST(GLIB_GENMARSHAL) + +pluginlibdir=`$PKG_CONFIG mission-control --variable=pluginlibdir` +AC_SUBST(pluginlibdir) + +dnl ----------------------------------------------------------- +dnl Language Support +dnl ----------------------------------------------------------- + +GETTEXT_PACKAGE=empathy +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package name]) + +AM_GLIB_GNU_GETTEXT + +dnl ----------------------------------------------------------- +dnl Pkg-Config dependency checks +dnl ----------------------------------------------------------- + +PKG_CHECK_MODULES(LIBEMPATHY, +[ + glib-2.0 >= $GLIB_REQUIRED + gobject-2.0 + gconf-2.0 >= $GCONF_REQUIRED + libxml-2.0 + libtelepathy >= $TELEPATHY_REQUIRED + libmissioncontrol >= $MISSION_CONTROL_REQUIRED +]) + +PKG_CHECK_MODULES(EMPATHY, +[ + glib-2.0 >= $GLIB_REQUIRED + gobject-2.0 + gtk+-2.0 >= $GTK_REQUIRED + gconf-2.0 >= $GCONF_REQUIRED + libglade-2.0 >= $LIBGLADE_REQUIRED + libgnomeui-2.0 + libtelepathy >= $TELEPATHY_REQUIRED + libmissioncontrol >= $MISSION_CONTROL_REQUIRED +]) + +PKG_CHECK_MODULES(MISSION_CONTROL_PLUGINS, +[ + mission-control >= $MISSION_CONTROL_REQUIRED + glib-2.0 >= $GLIB_REQUIRED + gobject-2.0 + dbus-glib-1 + libtelepathy >= $TELEPATHY_REQUIRED +]) + +dnl ----------------------------------------------------------- +AC_OUTPUT([ + Makefile + data/Makefile + data/empathy.desktop.in + data/16x16/Makefile + data/22x22/Makefile + data/32x32/Makefile + data/48x48/Makefile + data/scalable/Makefile + po/Makefile.in + libempathy/Makefile + libempathy-gtk/Makefile + src/Makefile +]) + diff --git a/trunk/data/16x16/Makefile.am b/trunk/data/16x16/Makefile.am new file mode 100644 index 000000000..0b4d6067b --- /dev/null +++ b/trunk/data/16x16/Makefile.am @@ -0,0 +1,19 @@ +icondir = $(datadir)/icons/hicolor/16x16/apps +icon_DATA = \ + empathy.png \ + empathy-available.png \ + empathy-offline.png \ + empathy-away.png \ + empathy-extended-away.png \ + empathy-busy.png \ + empathy-pending.png \ + empathy-message.png \ + empathy-new-message.png \ + empathy-typing.png \ + empathy-proto-ekiga.png \ + empathy-proto-google-talk.png \ + empathy-proto-msn.png \ + empathy-proto-gizmo.png \ + empathy-proto-irc.png \ + empathy-proto-jabber.png +EXTRA_DIST = $(icon_DATA) diff --git a/trunk/data/16x16/empathy-available.png b/trunk/data/16x16/empathy-available.png Binary files differnew file mode 100644 index 000000000..66b24967a --- /dev/null +++ b/trunk/data/16x16/empathy-available.png diff --git a/trunk/data/16x16/empathy-away.png b/trunk/data/16x16/empathy-away.png Binary files differnew file mode 100644 index 000000000..ff59e309d --- /dev/null +++ b/trunk/data/16x16/empathy-away.png diff --git a/trunk/data/16x16/empathy-busy.png b/trunk/data/16x16/empathy-busy.png Binary files differnew file mode 100644 index 000000000..fec554d89 --- /dev/null +++ b/trunk/data/16x16/empathy-busy.png diff --git a/trunk/data/16x16/empathy-extended-away.png b/trunk/data/16x16/empathy-extended-away.png Binary files differnew file mode 100644 index 000000000..9f74bd01a --- /dev/null +++ b/trunk/data/16x16/empathy-extended-away.png diff --git a/trunk/data/16x16/empathy-message.png b/trunk/data/16x16/empathy-message.png Binary files differnew file mode 100644 index 000000000..be0e2e157 --- /dev/null +++ b/trunk/data/16x16/empathy-message.png diff --git a/trunk/data/16x16/empathy-new-message.png b/trunk/data/16x16/empathy-new-message.png Binary files differnew file mode 100644 index 000000000..da01aff75 --- /dev/null +++ b/trunk/data/16x16/empathy-new-message.png diff --git a/trunk/data/16x16/empathy-offline.png b/trunk/data/16x16/empathy-offline.png Binary files differnew file mode 100644 index 000000000..0321dc6bb --- /dev/null +++ b/trunk/data/16x16/empathy-offline.png diff --git a/trunk/data/16x16/empathy-pending.png b/trunk/data/16x16/empathy-pending.png Binary files differnew file mode 100644 index 000000000..4adfdb648 --- /dev/null +++ b/trunk/data/16x16/empathy-pending.png diff --git a/trunk/data/16x16/empathy-proto-ekiga.png b/trunk/data/16x16/empathy-proto-ekiga.png Binary files differnew file mode 100644 index 000000000..74d097d38 --- /dev/null +++ b/trunk/data/16x16/empathy-proto-ekiga.png diff --git a/trunk/data/16x16/empathy-proto-gizmo.png b/trunk/data/16x16/empathy-proto-gizmo.png Binary files differnew file mode 100644 index 000000000..6cfbef5de --- /dev/null +++ b/trunk/data/16x16/empathy-proto-gizmo.png diff --git a/trunk/data/16x16/empathy-proto-google-talk.png b/trunk/data/16x16/empathy-proto-google-talk.png Binary files differnew file mode 100644 index 000000000..e80b03b16 --- /dev/null +++ b/trunk/data/16x16/empathy-proto-google-talk.png diff --git a/trunk/data/16x16/empathy-proto-irc.png b/trunk/data/16x16/empathy-proto-irc.png Binary files differnew file mode 100644 index 000000000..00647bba6 --- /dev/null +++ b/trunk/data/16x16/empathy-proto-irc.png diff --git a/trunk/data/16x16/empathy-proto-jabber.png b/trunk/data/16x16/empathy-proto-jabber.png Binary files differnew file mode 100644 index 000000000..d31b8ba28 --- /dev/null +++ b/trunk/data/16x16/empathy-proto-jabber.png diff --git a/trunk/data/16x16/empathy-proto-msn.png b/trunk/data/16x16/empathy-proto-msn.png Binary files differnew file mode 100644 index 000000000..779c9e106 --- /dev/null +++ b/trunk/data/16x16/empathy-proto-msn.png diff --git a/trunk/data/16x16/empathy-typing.png b/trunk/data/16x16/empathy-typing.png Binary files differnew file mode 100644 index 000000000..5c272a339 --- /dev/null +++ b/trunk/data/16x16/empathy-typing.png diff --git a/trunk/data/16x16/empathy.png b/trunk/data/16x16/empathy.png Binary files differnew file mode 100644 index 000000000..3d400d8ef --- /dev/null +++ b/trunk/data/16x16/empathy.png diff --git a/trunk/data/22x22/Makefile.am b/trunk/data/22x22/Makefile.am new file mode 100644 index 000000000..987201956 --- /dev/null +++ b/trunk/data/22x22/Makefile.am @@ -0,0 +1,12 @@ +icondir = $(datadir)/icons/hicolor/22x22/apps +icon_DATA = \ + empathy.png \ + empathy-new-message.png \ + empathy-group-message.png \ + empathy-proto-ekiga.png \ + empathy-proto-google-talk.png \ + empathy-proto-msn.png \ + empathy-proto-gizmo.png \ + empathy-proto-irc.png \ + empathy-proto-jabber.png +EXTRA_DIST = $(icon_DATA) diff --git a/trunk/data/22x22/empathy-group-message.png b/trunk/data/22x22/empathy-group-message.png Binary files differnew file mode 100644 index 000000000..7b803b1be --- /dev/null +++ b/trunk/data/22x22/empathy-group-message.png diff --git a/trunk/data/22x22/empathy-new-message.png b/trunk/data/22x22/empathy-new-message.png Binary files differnew file mode 100644 index 000000000..f75737ff2 --- /dev/null +++ b/trunk/data/22x22/empathy-new-message.png diff --git a/trunk/data/22x22/empathy-proto-ekiga.png b/trunk/data/22x22/empathy-proto-ekiga.png Binary files differnew file mode 100644 index 000000000..62ecc446a --- /dev/null +++ b/trunk/data/22x22/empathy-proto-ekiga.png diff --git a/trunk/data/22x22/empathy-proto-gizmo.png b/trunk/data/22x22/empathy-proto-gizmo.png Binary files differnew file mode 100644 index 000000000..a47b462d0 --- /dev/null +++ b/trunk/data/22x22/empathy-proto-gizmo.png diff --git a/trunk/data/22x22/empathy-proto-google-talk.png b/trunk/data/22x22/empathy-proto-google-talk.png Binary files differnew file mode 100644 index 000000000..e1997891e --- /dev/null +++ b/trunk/data/22x22/empathy-proto-google-talk.png diff --git a/trunk/data/22x22/empathy-proto-irc.png b/trunk/data/22x22/empathy-proto-irc.png Binary files differnew file mode 100644 index 000000000..fefb85130 --- /dev/null +++ b/trunk/data/22x22/empathy-proto-irc.png diff --git a/trunk/data/22x22/empathy-proto-jabber.png b/trunk/data/22x22/empathy-proto-jabber.png Binary files differnew file mode 100644 index 000000000..c4453549a --- /dev/null +++ b/trunk/data/22x22/empathy-proto-jabber.png diff --git a/trunk/data/22x22/empathy-proto-msn.png b/trunk/data/22x22/empathy-proto-msn.png Binary files differnew file mode 100644 index 000000000..ec32ee71e --- /dev/null +++ b/trunk/data/22x22/empathy-proto-msn.png diff --git a/trunk/data/22x22/empathy.png b/trunk/data/22x22/empathy.png Binary files differnew file mode 100644 index 000000000..d3e89c919 --- /dev/null +++ b/trunk/data/22x22/empathy.png diff --git a/trunk/data/32x32/Makefile.am b/trunk/data/32x32/Makefile.am new file mode 100644 index 000000000..111173e86 --- /dev/null +++ b/trunk/data/32x32/Makefile.am @@ -0,0 +1,10 @@ +icondir = $(datadir)/icons/hicolor/32x32/apps +icon_DATA = \ + empathy.png \ + empathy-proto-ekiga.png \ + empathy-proto-google-talk.png \ + empathy-proto-msn.png \ + empathy-proto-gizmo.png \ + empathy-proto-irc.png \ + empathy-proto-jabber.png +EXTRA_DIST = $(icon_DATA) diff --git a/trunk/data/32x32/empathy-proto-ekiga.png b/trunk/data/32x32/empathy-proto-ekiga.png Binary files differnew file mode 100644 index 000000000..639e118e6 --- /dev/null +++ b/trunk/data/32x32/empathy-proto-ekiga.png diff --git a/trunk/data/32x32/empathy-proto-gizmo.png b/trunk/data/32x32/empathy-proto-gizmo.png Binary files differnew file mode 100644 index 000000000..83fa95458 --- /dev/null +++ b/trunk/data/32x32/empathy-proto-gizmo.png diff --git a/trunk/data/32x32/empathy-proto-google-talk.png b/trunk/data/32x32/empathy-proto-google-talk.png Binary files differnew file mode 100644 index 000000000..25e8aae67 --- /dev/null +++ b/trunk/data/32x32/empathy-proto-google-talk.png diff --git a/trunk/data/32x32/empathy-proto-irc.png b/trunk/data/32x32/empathy-proto-irc.png Binary files differnew file mode 100644 index 000000000..471742a86 --- /dev/null +++ b/trunk/data/32x32/empathy-proto-irc.png diff --git a/trunk/data/32x32/empathy-proto-jabber.png b/trunk/data/32x32/empathy-proto-jabber.png Binary files differnew file mode 100644 index 000000000..b0d03f456 --- /dev/null +++ b/trunk/data/32x32/empathy-proto-jabber.png diff --git a/trunk/data/32x32/empathy-proto-msn.png b/trunk/data/32x32/empathy-proto-msn.png Binary files differnew file mode 100644 index 000000000..50c4c7ad0 --- /dev/null +++ b/trunk/data/32x32/empathy-proto-msn.png diff --git a/trunk/data/32x32/empathy.png b/trunk/data/32x32/empathy.png Binary files differnew file mode 100644 index 000000000..9e29d7f42 --- /dev/null +++ b/trunk/data/32x32/empathy.png diff --git a/trunk/data/48x48/Makefile.am b/trunk/data/48x48/Makefile.am new file mode 100644 index 000000000..5c37938a0 --- /dev/null +++ b/trunk/data/48x48/Makefile.am @@ -0,0 +1,4 @@ +icondir = $(datadir)/icons/hicolor/48x48/apps +icon_DATA = \ + empathy.png +EXTRA_DIST = $(icon_DATA) diff --git a/trunk/data/48x48/empathy.png b/trunk/data/48x48/empathy.png Binary files differnew file mode 100644 index 000000000..753779a9c --- /dev/null +++ b/trunk/data/48x48/empathy.png diff --git a/trunk/data/Makefile.am b/trunk/data/Makefile.am new file mode 100644 index 000000000..128f8aa64 --- /dev/null +++ b/trunk/data/Makefile.am @@ -0,0 +1,56 @@ +SUBDIRS = 16x16 22x22 32x32 48x48 scalable + +profiledir = $(datadir)/mission-control/profiles +profile_DATA = \ + jabber.profile \ + gtalk.profile \ + salut.profile \ + irc.profile \ + msn.profile + +gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor + +install-data-hook: update-icon-cache +uninstall-hook: update-icon-cache +update-icon-cache: + @-if test -z "$(DESTDIR)"; then \ + echo "Updating Gtk icon cache."; \ + $(gtk_update_icon_cache); \ + else \ + echo "*** Icon cache not updated. After (un)install, run this:"; \ + echo "*** $(gtk_update_icon_cache)"; \ + fi + +autostartdir = $(datadir)/gnome/autostart +autostart_in_files = empathy.desktop.in +autostart_DATA = $(autostart_in_files:.desktop.in=.desktop) +@INTLTOOL_DESKTOP_RULE@ + +schemasdir = $(GCONF_SCHEMA_FILE_DIR) +schemas_in_files = empathy.schemas.in +schemas_DATA = $(schemas_in_files:.schemas.in=.schemas) +@INTLTOOL_SCHEMAS_RULE@ + +if GCONF_SCHEMAS_INSTALL +install-data-local: + if test -z "$(DESTDIR)" ; then \ + for p in $(schemas_DATA) ; do \ + GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$$p ; \ + done \ + fi +else +install-data-local: +endif + +EXTRA_DIST = \ + $(image_DATA) \ + $(profile_DATA) \ + $(autostart_in_files) \ + $(autostart_DATA) \ + $(schemas_in_files) \ + $(schemas_DATA) + +DISTCLEANFILES = \ + $(autostart_DATA) \ + $(schemas_DATA) + diff --git a/trunk/data/empathy.desktop.in.in b/trunk/data/empathy.desktop.in.in new file mode 100644 index 000000000..abf48ce11 --- /dev/null +++ b/trunk/data/empathy.desktop.in.in @@ -0,0 +1,15 @@ +[Desktop Entry] +Version=1.0 +Encoding=UTF-8 +_Name=Empathy Instant Messenger +_Comment=Instant Messenger +Exec=empathy --no-connect +Icon=empathy +StartupNotify=false +Terminal=false +Type=Application +Categories=GNOME;GTK;Network;InstantMessaging; +X-GNOME-Bugzilla-Bugzilla=GNOME +X-GNOME-Bugzilla-Product=empathy +X-GNOME-Bugzilla-Component=General +X-GNOME-Bugzilla-Version=@VERSION@ diff --git a/trunk/data/empathy.schemas.in b/trunk/data/empathy.schemas.in new file mode 100644 index 000000000..103fdd2ab --- /dev/null +++ b/trunk/data/empathy.schemas.in @@ -0,0 +1,253 @@ +<gconfschemafile> + <schemalist> + + <schema> + <key>/schemas/apps/empathy/ui/show_offline</key> + <applyto>/apps/empathy/ui/show_offline</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>false</default> + <locale name="C"> + <short>Show offline contacts</short> + <long> + Whether or not to show contacts that are offline in the contact list. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/contacts/sort_criterium</key> + <applyto>/apps/empathy/contacts/sort_criterium</applyto> + <owner>empathy</owner> + <type>string</type> + <default>name</default> + <locale name="C"> + <short>Contact list sort criterium</short> + <long> + Which criterium to use when sorting the contact list. + Default is to use sort by the contact's name with the value + "name". A value of "state" will sort the contact list by state. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/ui/show_avatars</key> + <applyto>/apps/empathy/ui/show_avatars</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Show avatars</short> + <long> + Whether or not to show avatars for contacts in the contact + list and chat windows. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/ui/compact_contact_list</key> + <applyto>/apps/empathy/ui/compact_contact_list</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>false</default> + <locale name="C"> + <short>Compact contact list</short> + <long> + Whether to show the contact list in compact mode or not. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/ui/main_window_hidden</key> + <applyto>/apps/empathy/ui/main_window_hidden</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Hide main window</short> + <long> + Hide the main window. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/ui/avatar_directory</key> + <applyto>/apps/empathy/ui/avatar_directory</applyto> + <owner>empathy</owner> + <type>string</type> + <default></default> + <locale name="C"> + <short>Default directory to select an avatar image from</short> + <long> + The last directory that an avatar image was chosen from. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/notifications/play_sounds</key> + <applyto>/apps/empathy/notifications/play_sounds</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Use notification sounds</short> + <long> + Whether or not to play a sound when messages arrive. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/notifications/sound_when_away</key> + <applyto>/apps/empathy/notifications/sound_when_away</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>false</default> + <locale name="C"> + <short>Enable sound when away</short> + <long> + Whether or not to play sounds when away. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/notifications/sound_when_busy</key> + <applyto>/apps/empathy/notifications/sound_when_busy</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Enable sound when busy</short> + <long> + Whether or not to play sounds when busy. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/notifications/popup_when_contact_available</key> + <applyto>/apps/empathy/notifications/popup_when_contact_available</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Enable popup when contact is available</short> + <long> + Whether or not to show a popup when a contact becomes available. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/ui/separate_chat_windows</key> + <applyto>/apps/empathy/ui/separate_chat_windows</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>false</default> + <locale name="C"> + <short>Open new chats in separate windows</short> + <long> + Always open a separate chat window for new chats. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/conversation/graphical_smileys</key> + <applyto>/apps/empathy/conversation/graphical_smileys</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Use graphical smileys</short> + <long> + Whether or not to convert smileys into graphical images in + conversations. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/conversation/theme</key> + <applyto>/apps/empathy/conversation/theme</applyto> + <owner>empathy</owner> + <type>string</type> + <default>classic</default> + <locale name="C"> + <short>Chat window theme</short> + <long> + The theme that is used to display the conversation in chat windows. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/conversation/theme_chat_room</key> + <applyto>/apps/empathy/conversation/theme_chat_room</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Use theme for chat rooms</short> + <long> + Whether to use the theme for chat rooms or not. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/conversation/spell_checker_languages</key> + <applyto>/apps/empathy/conversation/spell_checker_languages</applyto> + <owner>empathy</owner> + <type>string</type> + <default>en</default> + <locale name="C"> + <short>Spell checking languages</short> + <long> + Comma separated list of spell checker languages to use (e.g. en, fr, nl). + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/conversation/spell_checker_enabled</key> + <applyto>/apps/empathy/conversation/spell_checker_enabled</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Enable spell checker</short> + <long> + Whether or not to check words typed against the languages you + want to check with. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/empathy/hints/close_main_window</key> + <applyto>/apps/empathy/hints/close_main_window</applyto> + <owner>empathy</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Show hint about closing the main window</short> + <long> + Whether or not to show the message dialog about closing the + main window with the 'x' button in the title bar. + </long> + </locale> + </schema> + + </schemalist> +</gconfschemafile> + + + + diff --git a/trunk/data/gtalk.profile b/trunk/data/gtalk.profile new file mode 100644 index 000000000..563710780 --- /dev/null +++ b/trunk/data/gtalk.profile @@ -0,0 +1,15 @@ +[Profile] +Manager=gabble +Protocol=jabber +DisplayName=Google Talk +IconName = empathy-proto-google-talk +ConfigurationUI = jabber +Capabilities = chat-p2p, chat-room, chat-room-list, voice-p2p, split-account, supports-avatars, supports-alias +DefaultAccountDomain = gmail.com +Default-server = talk.google.com +Default-port = 5223 +Default-old-ssl = 1 +Default-fallback-conference-server = conference.jabber.org +Default-randomize-resource = 1 +Default-ignore-ssl-errors = 1 +SupportsInvisible = 0 diff --git a/trunk/data/irc.profile b/trunk/data/irc.profile new file mode 100644 index 000000000..5bc5cfd3f --- /dev/null +++ b/trunk/data/irc.profile @@ -0,0 +1,8 @@ +[Profile] +Manager=idle +Protocol=irc +DisplayName=IRC +IconName = empathy-proto-irc +ConfigurationUI = irc +Capabilities = chat-p2p, chat-room, chat-room-list, supports-alias +SupportsInvisible = 0 diff --git a/trunk/data/jabber.profile b/trunk/data/jabber.profile new file mode 100644 index 000000000..7da8254f4 --- /dev/null +++ b/trunk/data/jabber.profile @@ -0,0 +1,9 @@ +[Profile] +Manager=gabble +Protocol=jabber +DisplayName=Jabber +IconName = empathy-proto-jabber +ConfigurationUI = jabber +Capabilities = chat-p2p, chat-room, chat-room-list, voice-p2p, split-account, registration-ui, supports-avatars, supports-alias +DefaultAccountDomain = jabber.org +SupportsInvisible = 0 diff --git a/trunk/data/msn.profile b/trunk/data/msn.profile new file mode 100644 index 000000000..44058fc15 --- /dev/null +++ b/trunk/data/msn.profile @@ -0,0 +1,8 @@ +[Profile] +Manager=butterfly +Protocol=msn +DisplayName=MSN +IconName = empathy-proto-msn +ConfigurationUI = msn +SupportsInvisible = 1 +Capabilities = chat-p2p, split-account, supports-avatars, supports-alias diff --git a/trunk/data/salut.profile b/trunk/data/salut.profile new file mode 100644 index 000000000..e9b346b39 --- /dev/null +++ b/trunk/data/salut.profile @@ -0,0 +1,8 @@ +[Profile] +Manager=salut +Protocol=salut +DisplayName=Salut +IconName = empathy-proto-jabber +ConfigurationUI = salut +Capabilities = chat-p2p, chat-room, chat-room-list, voice-p2p, supports-avatars, supports-alias + diff --git a/trunk/data/scalable/Makefile.am b/trunk/data/scalable/Makefile.am new file mode 100644 index 000000000..b8b12c3d4 --- /dev/null +++ b/trunk/data/scalable/Makefile.am @@ -0,0 +1,16 @@ +icondir = $(datadir)/icons/hicolor/scalable/apps +icon_DATA = \ + empathy.svg \ + empathy-available.svg \ + empathy-offline.svg \ + empathy-away.svg \ + empathy-extended-away.svg \ + empathy-busy.svg \ + empathy-pending.svg \ + empathy-proto-ekiga.svg \ + empathy-proto-google-talk.svg \ + empathy-proto-msn.svg \ + empathy-proto-gizmo.svg \ + empathy-proto-irc.svg \ + empathy-proto-jabber.svg +EXTRA_DIST = $(icon_DATA) diff --git a/trunk/data/scalable/empathy-available.svg b/trunk/data/scalable/empathy-available.svg new file mode 100644 index 000000000..8d4cc585f --- /dev/null +++ b/trunk/data/scalable/empathy-available.svg @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16px" + height="16px" + id="svg4908" + sodipodi:version="0.32" + inkscape:version="0.44+devel" + sodipodi:docbase="/home/andreas/project/gossip/16x16" + sodipodi:docname="status-avaible.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + inkscape:export-filename="/home/andreas/project/gossip/16x16/status-avaible.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:modified="true"> + <defs + id="defs4910"> + <linearGradient + inkscape:collect="always" + id="linearGradient5899"> + <stop + style="stop-color:#7fe719;stop-opacity:1" + offset="0" + id="stop5901" /> + <stop + style="stop-color:#67bc13;stop-opacity:1" + offset="1" + id="stop5903" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5899" + id="radialGradient5905" + cx="9.466115" + cy="8.9839392" + fx="9.466115" + fy="8.9839392" + r="6.7474474" + gradientTransform="matrix(1.1671849,-3.2679277e-3,2.7524467e-3,1.0150183,-1.6222549,-0.2024225)" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="22.197802" + inkscape:cx="14.452639" + inkscape:cy="6.4458104" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:grid-bbox="true" + inkscape:document-units="px" + inkscape:window-width="1674" + inkscape:window-height="969" + inkscape:window-x="0" + inkscape:window-y="26" /> + <metadata + id="metadata4913"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <path + sodipodi:type="arc" + style="opacity:1;fill:url(#radialGradient5905);fill-opacity:1;stroke:#376e01;stroke-width:0.97113216;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4926" + sodipodi:cx="7.9737625" + sodipodi:cy="7.7221532" + sodipodi:rx="6.2618814" + sodipodi:ry="6.3632426" + d="M 14.235644 7.7221532 A 6.2618814 6.3632426 0 1 1 1.7118812,7.7221532 A 6.2618814 6.3632426 0 1 1 14.235644 7.7221532 z" + transform="matrix(1.0380267,0,0,1.0214918,-0.2769783,0.1118841)" /> + <path + sodipodi:type="arc" + style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.14770162;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path5897" + sodipodi:cx="7.9737625" + sodipodi:cy="7.7221532" + sodipodi:rx="6.2618814" + sodipodi:ry="6.3632426" + d="M 14.235644 7.7221532 A 6.2618814 6.3632426 0 1 1 1.7118812,7.7221532 A 6.2618814 6.3632426 0 1 1 14.235644 7.7221532 z" + transform="matrix(0.8783303,0,0,0.8643392,0.996403,1.3254404)" /> + </g> +</svg> diff --git a/trunk/data/scalable/empathy-away.svg b/trunk/data/scalable/empathy-away.svg new file mode 100644 index 000000000..7e7b0ed6b --- /dev/null +++ b/trunk/data/scalable/empathy-away.svg @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16px" + height="16px" + id="svg4908" + sodipodi:version="0.32" + inkscape:version="0.44+devel" + sodipodi:docbase="/home/andreas/project/gossip/16x16" + sodipodi:docname="status-away.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + inkscape:export-filename="/home/andreas/project/gossip/16x16/status-away.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:modified="true"> + <defs + id="defs4910"> + <linearGradient + inkscape:collect="always" + id="linearGradient5917"> + <stop + style="stop-color:#f80000;stop-opacity:1" + offset="0" + id="stop5919" /> + <stop + style="stop-color:#e70000;stop-opacity:1" + offset="1" + id="stop5921" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5917" + id="linearGradient5923" + x1="6.5096536" + y1="8.5893564" + x2="9.9108915" + y2="11.540099" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.9925682,6.043956e-8,1.1147803e-2)" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="22.627417" + inkscape:cx="13.206814" + inkscape:cy="4.0564985" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:grid-bbox="true" + inkscape:document-units="px" + inkscape:window-width="1674" + inkscape:window-height="969" + inkscape:window-x="0" + inkscape:window-y="26" /> + <metadata + id="metadata4913"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <path + style="fill:url(#linearGradient5923);fill-opacity:1;fill-rule:evenodd;stroke:#8a0000;stroke-width:0.99999988px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="M 1.5,13.5 L 14.499999,13.5 L 7.9789933,1.4999999 L 1.5,13.5 z " + id="path4944" + sodipodi:nodetypes="cccc" /> + <path + style="opacity:0.3;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000012px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 3.2186016,12.488535 L 12.832121,12.488535 L 8.0098272,3.5671249 L 3.2186016,12.488535 z " + id="path4946" + sodipodi:nodetypes="cccc" /> + </g> +</svg> diff --git a/trunk/data/scalable/empathy-busy.svg b/trunk/data/scalable/empathy-busy.svg new file mode 100644 index 000000000..66fc70945 --- /dev/null +++ b/trunk/data/scalable/empathy-busy.svg @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16px" + height="16px" + id="svg6941" + sodipodi:version="0.32" + inkscape:version="0.44+devel" + sodipodi:docbase="/home/andreas/project/gossip/16x16" + sodipodi:docname="status-busy.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + inkscape:export-filename="/home/andreas/project/gossip/16x16/status-busy.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:modified="true"> + <defs + id="defs6943"> + <linearGradient + inkscape:collect="always" + id="linearGradient5899"> + <stop + style="stop-color:#fce94f;stop-opacity:1" + offset="0" + id="stop5901" /> + <stop + style="stop-color:#edd400;stop-opacity:1" + offset="1" + id="stop5903" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5899" + id="radialGradient5905" + cx="9.466115" + cy="8.9839392" + fx="9.466115" + fy="8.9839392" + r="6.7474474" + gradientTransform="matrix(1.1671849,-3.2679277e-3,2.7524467e-3,1.0150183,-1.6222549,-0.2024225)" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="15.696217" + inkscape:cx="17.665904" + inkscape:cy="9.7718474" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:grid-bbox="true" + inkscape:document-units="px" + inkscape:window-width="1674" + inkscape:window-height="969" + inkscape:window-x="0" + inkscape:window-y="26" /> + <metadata + id="metadata6946"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <path + sodipodi:type="arc" + style="opacity:1;fill:url(#radialGradient5905);fill-opacity:1;stroke:#8d7300;stroke-width:0.97113222;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4926" + sodipodi:cx="7.9737625" + sodipodi:cy="7.7221532" + sodipodi:rx="6.2618814" + sodipodi:ry="6.3632426" + d="M 14.235644 7.7221532 A 6.2618814 6.3632426 0 1 1 1.7118812,7.7221532 A 6.2618814 6.3632426 0 1 1 14.235644 7.7221532 z" + transform="matrix(1.0380267,0,0,1.0214918,-0.2769782,0.1118841)" /> + <path + sodipodi:type="arc" + style="opacity:0.6;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.14770162;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path5897" + sodipodi:cx="7.9737625" + sodipodi:cy="7.7221532" + sodipodi:rx="6.2618814" + sodipodi:ry="6.3632426" + d="M 14.235644 7.7221532 A 6.2618814 6.3632426 0 1 1 1.7118812,7.7221532 A 6.2618814 6.3632426 0 1 1 14.235644 7.7221532 z" + transform="matrix(0.8783303,0,0,0.8643392,0.996403,1.3254404)" /> + <rect + style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect5886" + width="9.000001" + height="9" + x="5.5" + y="5.5" + rx="0" + ry="0" /> + <rect + style="opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect5969" + width="7" + height="7" + x="6.5" + y="6.5" + rx="0" + ry="0" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:#8d7300;fill-opacity:1;stroke:none;stroke-width:1.46393549;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path5888" + sodipodi:cx="10.676733" + sodipodi:cy="7.8460393" + sodipodi:rx="1.4415842" + sodipodi:ry="1.4866337" + d="M 12.118317 7.8460393 A 1.4415842 1.4866337 0 1 1 9.2351488,7.8460393 A 1.4415842 1.4866337 0 1 1 12.118317 7.8460393 z" + transform="matrix(0.6936814,0,0,0.6726606,2.5937487,2.7222784)" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" + d="M 7.4772272,10.5 L 11.522773,10.5" + id="path5883" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#888a85;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" + d="M 7.4872926,12.5 L 11.524094,12.5" + id="path5885" /> + </g> +</svg> diff --git a/trunk/data/scalable/empathy-extended-away.svg b/trunk/data/scalable/empathy-extended-away.svg new file mode 100644 index 000000000..3104dff54 --- /dev/null +++ b/trunk/data/scalable/empathy-extended-away.svg @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16px" + height="16px" + id="svg4908" + sodipodi:version="0.32" + inkscape:version="0.44" + sodipodi:docbase="/home/martyn/Desktop/16x16" + sodipodi:docname="status-away-extended.svg" + inkscape:export-filename="/home/martyn/Desktop/16x16/status-away-extended.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4910"> + <linearGradient + inkscape:collect="always" + id="linearGradient5917"> + <stop + style="stop-color:#d80000;stop-opacity:1" + offset="0" + id="stop5919" /> + <stop + style="stop-color:#ca0000;stop-opacity:1" + offset="1" + id="stop5921" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5917" + id="linearGradient5923" + x1="6.5096536" + y1="8.5893564" + x2="9.9108915" + y2="11.540099" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1538462,0,0,1.0752822,-1.2307693,-0.1129232)" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="42.866662" + inkscape:cx="8.0000008" + inkscape:cy="7.4533429" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:grid-bbox="true" + inkscape:document-units="px" + inkscape:window-width="1323" + inkscape:window-height="987" + inkscape:window-x="0" + inkscape:window-y="26" /> + <metadata + id="metadata4913"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <path + style="fill:url(#linearGradient5923);fill-opacity:1;fill-rule:evenodd;stroke:#8a0000;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="M 0.5,14.5 L 15.5,14.5 L 7.975762,1.5 L 0.5,14.5 z " + id="path4944" + sodipodi:nodetypes="cccc" /> + <path + style="opacity:0.3;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 2.2790289,13.5 L 13.779497,13.5 L 8.0106803,3.5000001 L 2.2790289,13.5 z " + id="path4946" + sodipodi:nodetypes="cccc" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:#ffe680;fill-opacity:1;stroke:#555753;stroke-width:0.8123197;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4911" + sodipodi:cx="11.09375" + sodipodi:cy="11.890625" + sodipodi:rx="4.53125" + sodipodi:ry="3.640625" + d="M 15.625 11.890625 A 4.53125 3.640625 0 1 1 6.5625,11.890625 A 4.53125 3.640625 0 1 1 15.625 11.890625 z" + transform="matrix(0.983072,0,0,1.223563,-1.005946,-3.448939)" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:none;fill-opacity:1;stroke:white;stroke-width:1.01539958;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path5882" + sodipodi:cx="11.09375" + sodipodi:cy="11.890625" + sodipodi:rx="4.53125" + sodipodi:ry="3.640625" + d="M 15.625 11.890625 A 4.53125 3.640625 0 1 1 6.5625,11.890625 A 4.53125 3.640625 0 1 1 15.625 11.890625 z" + transform="matrix(0.786458,0,0,0.978852,1.175241,-0.539149)" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:0.91149789px;stroke-linecap:round;stroke-linejoin:round;marker-mid:none;stroke-opacity:1" + d="M 10.027723,8.0394381 L 10.027723,11.229682 L 6.8944493,11.229682" + id="path5884" /> + <path + style="opacity:0.33695655;fill:white;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 5.8909083,11.545458 C 9.3617367,11.656825 9.9649551,9.8471677 13.714194,9.8750085 C 13.073853,8.0931929 11.598288,7.100202 9.8999937,7.0909217 C 8.1738593,7.0816413 5.9187492,8.9469795 5.8909083,11.545458 z " + id="path5886" + sodipodi:nodetypes="cczc" /> + </g> +</svg> diff --git a/trunk/data/scalable/empathy-offline.svg b/trunk/data/scalable/empathy-offline.svg new file mode 100644 index 000000000..975f7dc8f --- /dev/null +++ b/trunk/data/scalable/empathy-offline.svg @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16px" + height="16px" + id="svg6941" + sodipodi:version="0.32" + inkscape:version="0.44+devel" + sodipodi:docbase="/home/andreas/project/gossip/16x16" + sodipodi:docname="status-offline.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + inkscape:export-filename="/home/andreas/project/gossip/16x16/status-offline.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:modified="true"> + <defs + id="defs6943"> + <linearGradient + inkscape:collect="always" + id="linearGradient7922"> + <stop + style="stop-color:#e8e8e6;stop-opacity:1" + offset="0" + id="stop7924" /> + <stop + style="stop-color:#babdb6;stop-opacity:1" + offset="1" + id="stop7926" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient7922" + id="linearGradient7928" + x1="0.67574239" + y1="0.81831664" + x2="9.8658419" + y2="10.594059" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.8666667,0,0,0.8666667,1.0666667,1.0666666)" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="22.197802" + inkscape:cx="15.038145" + inkscape:cy="7.8865336" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:grid-bbox="true" + inkscape:document-units="px" + inkscape:window-width="1674" + inkscape:window-height="969" + inkscape:window-x="0" + inkscape:window-y="26" /> + <metadata + id="metadata6946"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <rect + style="opacity:1;fill:url(#linearGradient7928);fill-opacity:1;stroke:#555753;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect6949" + width="13" + height="13" + x="1.5" + y="1.4999999" + rx="1.4641089" + ry="1.4641089" /> + <rect + style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect7920" + width="11" + height="11" + x="2.5" + y="2.5" + rx="0.45049509" + ry="0.45049506" /> + </g> +</svg> diff --git a/trunk/data/scalable/empathy-pending.svg b/trunk/data/scalable/empathy-pending.svg new file mode 100644 index 000000000..89c626c85 --- /dev/null +++ b/trunk/data/scalable/empathy-pending.svg @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="22" + height="22" + id="svg4908" + sodipodi:version="0.32" + inkscape:version="0.44+devel" + version="1.0" + sodipodi:docbase="/home/andreas/project/misc icons/22x22" + sodipodi:docname="status-pending.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + inkscape:export-filename="/home/andreas/project/misc icons/22x22/status-pending.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:modified="TRUE"> + <defs + id="defs4910"> + <linearGradient + inkscape:collect="always" + id="linearGradient5898"> + <stop + style="stop-color:#555753;stop-opacity:1;" + offset="0" + id="stop5900" /> + <stop + style="stop-color:#3b3c39;stop-opacity:1" + offset="1" + id="stop5902" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5898" + id="linearGradient5904" + x1="13.756032" + y1="6.1055899" + x2="11.815526" + y2="10.317804" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="32" + inkscape:cx="13.74062" + inkscape:cy="11.30699" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:grid-bbox="true" + inkscape:document-units="px" + width="22px" + height="22px" + inkscape:window-width="1680" + inkscape:window-height="973" + inkscape:window-x="0" + inkscape:window-y="26" /> + <metadata + id="metadata4913"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <path + transform="scale(1.0248552,0.9757476)" + style="font-size:26.23629379px;font-style:normal;font-weight:normal;fill:url(#linearGradient5904);fill-opacity:1.0;stroke:#2e3436;stroke-width:1.00000024px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" + d="M 11.275218,14.919035 L 7.3476583,14.919035 L 7.3476583,13.925219 C 7.3476538,13.224909 7.4885713,12.605727 7.7704111,12.067669 C 8.0522411,11.521089 8.3408215,10.829313 9.246116,9.9923373 L 10.066,9.2493173 C 10.552798,8.8052256 10.907227,8.3867434 11.129288,7.9938696 C 11.359871,7.6010219 11.475167,7.2081611 11.475176,6.8152861 C 11.475167,6.2174687 11.270196,5.7520141 10.860263,5.4189209 C 10.450313,5.0773184 9.8781028,4.9065094 9.1436305,4.9064933 C 8.4518474,4.9065094 7.7045578,5.0516971 6.9017597,5.3420567 C 6.0989529,5.6239073 5.2619887,6.0466597 4.3908644,6.6103151 L 4.3908644,2.5877583 C 5.4242572,2.2290778 6.3679772,1.9643238 7.222027,1.7934955 C 8.0760675,1.6227057 8.9002211,1.5373012 9.6944902,1.5372817 C 11.778353,1.5373012 13.366877,1.9643238 14.460067,2.8183508 C 15.553233,3.6638737 16.099822,4.9022392 16.099835,6.5334509 C 16.099822,7.3704297 15.933283,8.1219894 15.600218,8.7881324 C 15.267128,9.4457594 14.699188,10.154617 13.896397,10.914707 L 13.076512,11.644916 C 12.495751,12.174434 11.723583,12.601456 11.544243,12.925985 C 11.364884,13.24199 11.275209,13.592149 11.275218,13.976462 L 11.275218,14.919035 M 7.3040896,16.952301 L 11.275218,16.952301 L 11.275218,21.009531 L 7.3040896,21.009531 L 7.3040896,16.952301" + id="text4916" + sodipodi:nodetypes="cccsccsssssccsssssccsccccccc" /> + <path + style="font-size:26.23629379px;font-style:normal;font-weight:normal;fill:none;fill-opacity:1;stroke:#eeeeec;stroke-width:1.00000024px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;opacity:0.3" + d="M 10.531174,13.500001 L 8.5164063,13.500001 C 8.5164063,12.945747 8.7402784,12.078404 9.502579,11.143944 C 10.535614,9.6270452 12.892911,8.6362695 12.800574,6.4913892 C 12.708237,4.3018572 10.841095,3.7491649 9.4251268,3.7085782 C 8.0538104,3.6679915 6.7663299,4.0790254 5.5,4.8038685 L 5.5,3.3107849 C 6.3825651,3.0144106 7.1885459,2.7956469 7.9179435,2.6544931 C 8.6473335,2.5133711 9.3511984,2.4428023 10.029541,2.4427861 C 13.078781,2.3815955 15.397539,3.3494535 15.500001,6.5710727 C 15.213972,9.3832031 12.116268,10.497789 10.531174,12.721162 L 10.531174,13.500001" + id="path4925" + sodipodi:nodetypes="ccczzccscccc" /> + <rect + style="opacity:0.3;fill:none;fill-opacity:1;stroke:#eeeeec;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect5896" + width="1.9715405" + height="1.9651624" + x="8.5284595" + y="17.534838" /> + </g> +</svg> diff --git a/trunk/data/scalable/empathy-proto-ekiga.svg b/trunk/data/scalable/empathy-proto-ekiga.svg new file mode 100644 index 000000000..78a9e7344 --- /dev/null +++ b/trunk/data/scalable/empathy-proto-ekiga.svg @@ -0,0 +1,441 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.43" + width="48" + height="48" + version="1.0" + sodipodi:docbase="/home/vinicius/tango-icon-theme-code/protocols/scalable" + sodipodi:docname="ekiga.svg" + inkscape:export-filename="/home/vinicius/tango-icon-theme-code/protocols/48x48/ekiga.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>Ekiga Icon</dc:title> + <dc:date>2006-12-05</dc:date> + <dc:creator> + <cc:Agent> + <dc:title>Vinicius Scopel Depizzol</dc:title> + </cc:Agent> + </dc:creator> + <dc:subject> + <rdf:Bag> + <rdf:li>Ekiga</rdf:li> + <rdf:li>VOIP</rdf:li> + <rdf:li>protocol</rdf:li> + </rdf:Bag> + </dc:subject> + <dc:source>vdepizzol@gmail.com</dc:source> + <cc:license + rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /> + <dc:contributor> + <cc:Agent> + <dc:title>Original Artwork by Jakub Steiner <jimmac_at_ximian.com> and Andreas Kwiatkowski <post_at_kwiat.org></dc:title> + </cc:Agent> + </dc:contributor> + </cc:Work> + <cc:License + rdf:about="http://creativecommons.org/licenses/GPL/2.0/"> + <cc:permits + rdf:resource="http://web.resource.org/cc/Reproduction" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/Distribution" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/Notice" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/ShareAlike" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/SourceCode" /> + </cc:License> + </rdf:RDF> + </metadata> + <defs + id="defs5"> + <linearGradient + id="linearGradient4182"> + <stop + style="stop-color:#c03b00;stop-opacity:1;" + offset="0" + id="stop4184" /> + <stop + style="stop-color:#e74700;stop-opacity:1;" + offset="1" + id="stop4186" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient9234"> + <stop + style="stop-color:#f57900;stop-opacity:1;" + offset="0" + id="stop9236" /> + <stop + style="stop-color:#f57900;stop-opacity:0;" + offset="1" + id="stop9238" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient9208"> + <stop + style="stop-color:#ffe000;stop-opacity:1;" + offset="0" + id="stop9210" /> + <stop + style="stop-color:#ffe000;stop-opacity:0;" + offset="1" + id="stop9212" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient9200"> + <stop + style="stop-color:#ffe84a;stop-opacity:1;" + offset="0" + id="stop9202" /> + <stop + style="stop-color:#ffe84a;stop-opacity:0;" + offset="1" + id="stop9204" /> + </linearGradient> + <linearGradient + id="linearGradient6839"> + <stop + style="stop-color:#000000;stop-opacity:0.40170941;" + offset="0" + id="stop6841" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop6843" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient6839" + id="radialGradient6845" + cx="14.980188" + cy="24.437885" + fx="14.980188" + fy="24.437885" + r="10.15484" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient4175"> + <stop + style="stop-color:#fff6b8;stop-opacity:1;" + offset="0" + id="stop4177" /> + <stop + style="stop-color:#ffef81;stop-opacity:1;" + offset="1" + id="stop4179" /> + </linearGradient> + <linearGradient + id="linearGradient4201"> + <stop + style="stop-color:#fcaf3e;stop-opacity:1;" + offset="0" + id="stop4203" /> + <stop + style="stop-color:#fce94f;stop-opacity:1;" + offset="1" + id="stop4205" /> + </linearGradient> + <linearGradient + id="linearGradient4189"> + <stop + style="stop-color:#e26f00;stop-opacity:1;" + offset="0" + id="stop4191" /> + <stop + style="stop-color:#ffae19;stop-opacity:1;" + offset="1" + id="stop4193" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4189" + id="linearGradient4195" + x1="1.9788086" + y1="7.5118856" + x2="14.918759" + y2="7.5118856" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4201" + id="linearGradient4207" + x1="7.2169476" + y1="13.272759" + x2="7.2169476" + y2="4.5926571" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4175" + id="linearGradient4181" + x1="3.0193484" + y1="10.118958" + x2="18.965513" + y2="10.118958" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.386673,0,0,1.476386,40.03261,-0.243111)" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="9.3426504" + x2="7.2169476" + y1="15.416203" + x1="7.2169476" + id="linearGradient6051" + xlink:href="#linearGradient4201" + inkscape:collect="always" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="7.5118856" + x2="14.918759" + y1="7.5118856" + x1="-0.48486361" + id="linearGradient6049" + xlink:href="#linearGradient4189" + inkscape:collect="always" /> + <linearGradient + id="linearGradient6043"> + <stop + id="stop6045" + offset="0" + style="stop-color:#f57900;stop-opacity:1;" /> + <stop + id="stop6047" + offset="1" + style="stop-color:#edd400;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient6037"> + <stop + id="stop6039" + offset="0" + style="stop-color:#fcaf3e;stop-opacity:1;" /> + <stop + id="stop6041" + offset="1" + style="stop-color:#fce94f;stop-opacity:1;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4189" + id="linearGradient7026" + gradientUnits="userSpaceOnUse" + x1="1.9788086" + y1="7.5118856" + x2="14.918759" + y2="7.5118856" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4201" + id="linearGradient7028" + gradientUnits="userSpaceOnUse" + x1="7.2169476" + y1="13.272759" + x2="7.2169476" + y2="4.5926571" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4175" + id="linearGradient7030" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.834083,0,0,1.952742,2.880761,0.516054)" + x1="3.0193484" + y1="10.118958" + x2="18.965513" + y2="10.118958" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient9200" + id="radialGradient9206" + cx="18.627844" + cy="11.901631" + fx="18.627844" + fy="11.901631" + r="0.75130093" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient9208" + id="linearGradient9214" + x1="22" + y1="4.8000002" + x2="22" + y2="14.141901" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient9234" + id="linearGradient9240" + x1="20.4" + y1="38.666668" + x2="20.4" + y2="27.292307" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient6839" + id="radialGradient10116" + gradientUnits="userSpaceOnUse" + cx="14.980188" + cy="24.437885" + fx="14.980188" + fy="24.437885" + r="10.15484" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4182" + id="linearGradient4188" + x1="6.4635968" + y1="13.196473" + x2="6.4635968" + y2="2.4294622" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + inkscape:window-height="714" + inkscape:window-width="1014" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" + showgrid="false" + fill="#fce94f" + showborder="false" + inkscape:zoom="8.6290323" + inkscape:cx="23.5" + inkscape:cy="25" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:current-layer="svg2" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:url(#radialGradient10116);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path5964" + sodipodi:cx="14.980188" + sodipodi:cy="24.437885" + sodipodi:rx="10.15484" + sodipodi:ry="10.15484" + d="M 25.135029,24.437885 A 10.15484,10.15484 0 1 1 25.134977,24.405482" + sodipodi:start="0" + sodipodi:end="6.2799944" + sodipodi:open="true" + transform="matrix(2.067979,0,0,0.608807,-6.97872,24.95253)" /> + <path + transform="matrix(2.840536,0,0,2.792929,3.5,1.019835)" + sodipodi:open="true" + sodipodi:end="6.2799944" + sodipodi:start="0" + d="M 14.433895,7.5118856 A 7.2169476,7.3399639 0 1 1 14.433858,7.4884645" + sodipodi:ry="7.3399639" + sodipodi:rx="7.2169476" + sodipodi:cy="7.5118856" + sodipodi:cx="7.2169476" + id="path7012" + style="opacity:1;fill:url(#linearGradient7026);fill-opacity:1;fill-rule:nonzero;stroke:#ce5c00;stroke-width:0.35503393;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7028);stroke-width:0.37376186;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path7014" + sodipodi:cx="7.2169476" + sodipodi:cy="7.5118856" + sodipodi:rx="7.2169476" + sodipodi:ry="7.3399639" + d="M 14.433895,7.5118856 A 7.2169476,7.3399639 0 1 1 14.433858,7.4884645" + sodipodi:start="0" + sodipodi:end="6.2799944" + sodipodi:open="true" + transform="matrix(2.697833,0,0,2.653355,4.547512,2.079533)" /> + <path + sodipodi:nodetypes="cccc" + id="path7016" + d="M 8.190342,20.708311 C 8.1703537,6.3038993 26.116033,6.5569734 32.543918,12.445493 C 34.538426,14.694763 39.001539,13.044543 36.468666,10.166093 C 26.135035,-1.3618941 6.8962804,7.319666 8.190342,20.708311 z " + style="fill:url(#linearGradient9214);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + style="fill:url(#linearGradient9240);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 39.50447,27.299343 C 34.800073,42.327963 18.308682,36.589906 13.714704,29.331934 C 12.405002,26.672122 7.6414067,27.175936 9.2985796,30.574998 C 16.11864,44.234304 37.082702,40.547881 39.50447,27.299343 z " + id="path7018" + sodipodi:nodetypes="cccc" /> + <g + id="g9460" + transform="matrix(2.817613,0,0,2.817614,5.536697,-0.485289)" + style="fill:url(#linearGradient4188);fill-opacity:1.0"> + <path + sodipodi:nodetypes="ccczccz" + id="path7707" + d="M 9.4516821,8.5573773 C 8.0906341,14.152458 5.7954321,13.026127 5.7954321,13.026127 C 5.4199681,12.717591 5.5573131,10.821517 5.9204321,10.338627 C 6.4032901,10.359871 6.8077121,10.615882 7.5766821,8.2448773 C 8.3364881,5.9021301 7.7927181,5.5778374 7.2641821,5.3073773 C 7.2333031,4.3181647 7.9730301,3.1933083 8.5141821,2.9323773 C 8.5141821,2.9323773 10.805552,2.9918052 9.4516821,8.5573773 z " + style="fill:url(#linearGradient4188);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cczc" + id="path8582" + d="M 7.6134826,2.5599675 C 7.0256447,3.2228687 6.6494921,4.0864896 6.3947326,4.9974675 C 6.3947326,4.9974675 5.3695628,4.2706896 5.9122078,3.1548276 C 6.4668958,2.0142026 7.6134826,2.5599675 7.6134826,2.5599675 z " + style="fill:url(#linearGradient4188);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + style="fill:url(#linearGradient4188);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 5.1155026,10.157887 C 4.6936596,10.9488 4.6380996,11.855502 4.9488216,12.877993 C 4.9488216,12.877993 3.8683676,12.975254 3.8070878,11.427205 C 3.7458441,9.8800695 5.1155026,10.157887 5.1155026,10.157887 z " + id="path9458" + sodipodi:nodetypes="cczc" /> + </g> + <path + sodipodi:nodetypes="czzzzzzzzzzzzz" + id="path7020" + d="M 9.0604191,23.857192 C 9.4543105,22.162722 9.4344575,16.50586 10.635981,17.079314 C 11.837503,17.652767 12.731187,25.407262 13.866507,26.151005 C 15.001827,26.894747 14.438966,21.832866 15.177262,20.054285 C 15.915553,18.275704 15.88434,20.392276 16.819675,19.036687 C 17.755007,17.681096 17.884277,12.955766 18.918593,14.631925 C 19.952902,16.308085 19.832506,23.646286 20.956926,25.741328 C 22.081347,27.836373 22.25529,23.090771 23.416275,23.012099 C 24.577258,22.933426 24.929877,26.000093 25.600857,25.426642 C 26.271839,24.853188 25.668633,23.149805 26.100195,20.718288 C 26.531758,18.286769 26.152362,14.544639 27.327114,15.700572 C 28.501863,16.856505 29.420674,23.876311 30.799196,25.342011 C 32.177721,26.807713 31.28522,21.96476 32.841205,21.563372 C 34.397188,21.161984 35.977646,23.193191 37.02313,23.736462" + style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient7030);stroke-width:1.00000072;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cccccccccccccccccccccccccccccc" + id="path7022" + d="M 37.354566,22.429081 L 35.878767,15.933146 L 36.999491,22.549082 L 35.244302,17.836985 L 36.640127,22.723508 L 31.971965,19.448256 L 36.21416,23.113311 L 29.851342,23.675425 L 35.99771,23.515425 L 32.274504,24.939635 L 36.094205,23.981004 L 32.162301,26.240773 L 36.265875,24.585235 L 36.83261,24.952157 L 35.63968,29.523554 L 37.467078,24.881774 L 38.860759,29.323486 L 38.035952,24.944655 L 40.463772,27.383077 L 38.487522,24.373507 L 42.36968,25.221191 L 38.647464,23.785811 L 41.969642,21.32736 L 38.607989,23.439655 L 42.891947,17.680662 L 38.365424,22.939468 L 40.066242,19.55044 L 37.893045,22.553891 L 38.035952,19.486981 L 37.354566,22.429081 z " + style="fill:#ffea53;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:url(#radialGradient9206);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path8325" + sodipodi:cx="18.627844" + sodipodi:cy="11.901631" + sodipodi:rx="0.75130093" + sodipodi:ry="0.75130093" + d="M 19.379145,11.901631 A 0.75130093,0.75130093 0 1 1 19.379141,11.899234" + sodipodi:start="0" + sodipodi:end="6.2799944" + sodipodi:open="true" + transform="matrix(4.922224,0,0,4.923363,-54.3699,-34.85069)" /> + <path + transform="matrix(1.952289,0,0,1.952741,0.95358,0.504567)" + sodipodi:open="true" + sodipodi:end="6.2799944" + sodipodi:start="0" + d="M 19.379145,11.901631 A 0.75130093,0.75130093 0 1 1 19.379141,11.899234" + sodipodi:ry="0.75130093" + sodipodi:rx="0.75130093" + sodipodi:cy="11.901631" + sodipodi:cx="18.627844" + id="path7024" + style="opacity:1;fill:#fcf5c7;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> +</svg> diff --git a/trunk/data/scalable/empathy-proto-gizmo.svg b/trunk/data/scalable/empathy-proto-gizmo.svg new file mode 100644 index 000000000..0c6aa4a56 --- /dev/null +++ b/trunk/data/scalable/empathy-proto-gizmo.svg @@ -0,0 +1,269 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.43" + width="48" + height="48" + version="1.0" + sodipodi:docbase="/home/vinicius/tango-icon-theme-code/protocols/scalable" + sodipodi:docname="gizmo.svg" + inkscape:export-filename="/home/vinicius/tango-icon-theme-code/protocols/48x48/gizmo.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>Gizmo Icon</dc:title> + <dc:date>2006-12-03</dc:date> + <dc:creator> + <cc:Agent> + <dc:title>Vinicius Scopel Depizzol</dc:title> + </cc:Agent> + </dc:creator> + <dc:source>vdepizzol@gmail.com</dc:source> + <dc:subject> + <rdf:Bag> + <rdf:li>Gizmo</rdf:li> + <rdf:li>VOIP</rdf:li> + <rdf:li>Protocol</rdf:li> + </rdf:Bag> + </dc:subject> + <cc:license + rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /> + </cc:Work> + <cc:License + rdf:about="http://creativecommons.org/licenses/GPL/2.0/"> + <cc:permits + rdf:resource="http://web.resource.org/cc/Reproduction" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/Distribution" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/Notice" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/ShareAlike" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/SourceCode" /> + </cc:License> + </rdf:RDF> + </metadata> + <defs + id="defs5"> + <linearGradient + id="linearGradient3297"> + <stop + style="stop-color:#77d916;stop-opacity:1;" + offset="0" + id="stop3299" /> + <stop + style="stop-color:#5eae12;stop-opacity:1;" + offset="1" + id="stop3301" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3289"> + <stop + style="stop-color:#a9ea6a;stop-opacity:1;" + offset="0" + id="stop3291" /> + <stop + style="stop-color:#a9ea6a;stop-opacity:0;" + offset="1" + id="stop3293" /> + </linearGradient> + <linearGradient + id="linearGradient3281"> + <stop + style="stop-color:#4e9a06;stop-opacity:1;" + offset="0" + id="stop3283" /> + <stop + style="stop-color:#3f7e04;stop-opacity:1;" + offset="1" + id="stop3285" /> + </linearGradient> + <linearGradient + id="linearGradient6839"> + <stop + style="stop-color:#000000;stop-opacity:0.44444445;" + offset="0" + id="stop6841" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop6843" /> + </linearGradient> + <linearGradient + id="linearGradient5083"> + <stop + style="stop-color:#ffffff;stop-opacity:0.12820514;" + offset="0" + id="stop5085" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop5087" /> + </linearGradient> + <linearGradient + id="linearGradient3306"> + <stop + style="stop-color:#2e3436;stop-opacity:1;" + offset="0" + id="stop3308" /> + <stop + style="stop-color:#6a6c67;stop-opacity:1;" + offset="1" + id="stop3310" /> + </linearGradient> + <linearGradient + id="linearGradient3298"> + <stop + style="stop-color:#8c9d24;stop-opacity:1;" + offset="0" + id="stop3300" /> + <stop + style="stop-color:#bed341;stop-opacity:1;" + offset="1" + id="stop3302" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient6839" + id="radialGradient6845" + cx="14.980188" + cy="24.437885" + fx="14.980188" + fy="24.437885" + r="10.15484" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3306" + id="linearGradient7738" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.990582,0,0,1.956825,2.169514,0.111554)" + x1="12.148149" + y1="18.03125" + x2="9.9537039" + y2="4.03125" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5083" + id="linearGradient7742" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.999449,0,0,1.932483,2.134045,0.270066)" + x1="6.7731481" + y1="11.25" + x2="6.7407408" + y2="5.0682869" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3281" + id="linearGradient3287" + x1="2.7307715" + y1="1.6338818" + x2="13.049995" + y2="14.486959" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3289" + id="linearGradient3295" + x1="3.371383" + y1="1.314895" + x2="12.589786" + y2="14.155007" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3297" + id="linearGradient3303" + x1="2.2912731" + y1="2.4371991" + x2="12.330816" + y2="14.125467" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + inkscape:window-height="714" + inkscape:window-width="1014" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" + showgrid="false" + fill="#3465a4" + showborder="false" + inkscape:zoom="1" + inkscape:cx="36.161682" + inkscape:cy="23.420561" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:current-layer="svg2" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:url(#radialGradient6845);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path5964" + sodipodi:cx="14.980188" + sodipodi:cy="24.437885" + sodipodi:rx="10.15484" + sodipodi:ry="10.15484" + d="M 25.135029,24.437885 A 10.15484,10.15484 0 1 1 25.134977,24.405482" + sodipodi:start="0" + sodipodi:end="6.2799944" + sodipodi:open="true" + transform="matrix(2.051199,0,0,0.608807,-6.897747,25.47255)" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:url(#linearGradient3303);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient3287);stroke-width:0.37600183;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path2396" + sodipodi:cx="7.7705202" + sodipodi:cy="7.8194256" + sodipodi:rx="7.6885095" + sodipodi:ry="7.7295151" + d="M 15.45903,7.8194256 A 7.6885095,7.7295151 0 1 1 15.458991,7.7947615" + sodipodi:start="0" + sodipodi:end="6.2799944" + sodipodi:open="true" + transform="matrix(2.666592,0,0,2.652552,3.27862,1.260023)" /> + <path + transform="matrix(2.535942,0,0,2.522469,4.288207,2.275743)" + sodipodi:open="true" + sodipodi:end="6.2799944" + sodipodi:start="0" + d="M 15.45903,7.8194256 A 7.6885095,7.7295151 0 1 1 15.458991,7.7947615" + sodipodi:ry="7.7295151" + sodipodi:rx="7.6885095" + sodipodi:cy="7.8194256" + sodipodi:cx="7.7705202" + id="path3283" + style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3295);stroke-width:0.39538249;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + <path + id="path7736" + d="M 21.080049,8 L 21.080049,14.543129 L 16.29021,9.8956732 L 12.06022,14.053922 L 16.787857,18.701379 L 10.131844,18.701379 L 10.131844,24.571849 L 16.850061,24.571849 L 12.06022,29.280455 L 16.29021,33.438705 L 21.080049,28.7301 L 21.080049,35.39553 L 27.051797,35.39553 L 27.051797,28.7301 L 31.77943,33.438705 L 36.009418,29.280455 L 31.219579,24.571849 L 38,24.571849 L 38,18.701379 L 31.281785,18.701379 L 36.009418,14.053922 L 31.77943,9.8956732 L 27.051797,14.543129 L 27.051797,8 L 21.080049,8 z M 23.257248,15.827294 C 23.505421,15.796251 23.809218,15.827294 24.065922,15.827294 C 27.345091,15.827294 29.964999,18.413075 29.975465,21.636614 C 29.975465,24.866732 27.351765,27.507084 24.065922,27.507084 C 20.780079,27.507084 18.094175,24.866732 18.094175,21.636614 C 18.094174,18.658849 20.328807,16.193583 23.257248,15.827294 z " + style="opacity:1;fill:url(#linearGradient7738);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + id="path7740" + d="M 21.128819,8.06039 L 21.128819,14.522131 L 16.317642,9.9324832 L 12.068812,14.03901 L 16.817504,18.628659 L 10.131844,18.628659 L 10.131844,22.010504 C 12.983457,21.92907 15.635553,21.59813 18.129644,21.044263 C 18.357342,18.321118 20.535092,16.132273 23.315717,15.790324 C 23.346875,15.786492 23.407977,15.792419 23.440683,15.790324 C 23.657296,15.781469 23.91849,15.790324 24.127992,15.790324 C 25.70283,15.790324 27.131406,16.403207 28.189376,17.360466 C 28.203204,17.372979 28.238154,17.347826 28.251859,17.360466 C 30.661586,16.090491 32.883787,14.549219 35,12.951988 L 31.87586,9.9324832 L 27.127167,14.522131 L 27.127167,8.06039 L 21.128819,8.06039 z " + style="fill:url(#linearGradient7742);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> +</svg> diff --git a/trunk/data/scalable/empathy-proto-google-talk.svg b/trunk/data/scalable/empathy-proto-google-talk.svg new file mode 100644 index 000000000..53d543309 --- /dev/null +++ b/trunk/data/scalable/empathy-proto-google-talk.svg @@ -0,0 +1,301 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg2417" + sodipodi:version="0.32" + inkscape:version="0.43" + width="48" + height="48" + version="1.0" + sodipodi:docbase="/home/vinicius/tango-icon-theme-code/protocols/scalable" + sodipodi:docname="google-talk.svg" + inkscape:export-filename="/home/vinicius/tango-icon-theme-code/protocols/48x48/google-talk.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <metadata + id="metadata2422"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>Google Talk Icon</dc:title> + <dc:date>2006-12-03</dc:date> + <dc:creator> + <cc:Agent> + <dc:title>Vinicius Scopel Depizzol</dc:title> + </cc:Agent> + </dc:creator> + <dc:source>vdepizzol@gmail.com</dc:source> + <dc:subject> + <rdf:Bag> + <rdf:li>Google Talk</rdf:li> + <rdf:li>GTalk</rdf:li> + <rdf:li>VOIP</rdf:li> + <rdf:li>Protocol</rdf:li> + </rdf:Bag> + </dc:subject> + <cc:license + rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /> + </cc:Work> + <cc:License + rdf:about="http://creativecommons.org/licenses/GPL/2.0/"> + <cc:permits + rdf:resource="http://web.resource.org/cc/Reproduction" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/Distribution" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/Notice" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/ShareAlike" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/SourceCode" /> + </cc:License> + </rdf:RDF> + </metadata> + <defs + id="defs2420"> + <linearGradient + inkscape:collect="always" + id="linearGradient6020"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop6022" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop6024" /> + </linearGradient> + <linearGradient + id="linearGradient3299"> + <stop + style="stop-color:#000000;stop-opacity:0.11764706;" + offset="0" + id="stop3301" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3303" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3299" + id="radialGradient3305" + cx="15.993708" + cy="26.722889" + fx="15.993708" + fy="26.722889" + r="15.912521" + gradientTransform="matrix(1,0,0,0.295918,-3.769888e-16,18.8151)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient3527"> + <stop + style="stop-color:#90ba1f;stop-opacity:1;" + offset="0" + id="stop3529" /> + <stop + style="stop-color:#638205;stop-opacity:1;" + offset="1" + id="stop3531" /> + </linearGradient> + <linearGradient + id="linearGradient3518"> + <stop + style="stop-color:#e7d000;stop-opacity:1;" + offset="0" + id="stop3520" /> + <stop + style="stop-color:#c4a000;stop-opacity:1;" + offset="1" + id="stop3522" /> + </linearGradient> + <linearGradient + id="linearGradient3486"> + <stop + style="stop-color:#ef2929;stop-opacity:1;" + offset="0" + id="stop3488" /> + <stop + style="stop-color:#cc0000;stop-opacity:1;" + offset="1" + id="stop3490" /> + </linearGradient> + <linearGradient + id="linearGradient3510"> + <stop + style="stop-color:#3465a4;stop-opacity:1;" + offset="0" + id="stop3512" /> + <stop + style="stop-color:#204a87;stop-opacity:1;" + offset="1" + id="stop3514" /> + </linearGradient> + <linearGradient + id="linearGradient3286"> + <stop + style="stop-color:#d1d1d1;stop-opacity:1;" + offset="0" + id="stop3288" /> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="1" + id="stop3290" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3527" + id="linearGradient4249" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.465389,0,0,2.513895,-105.5963,47.11115)" + x1="55.483334" + y1="-14.40625" + x2="55.483334" + y2="-7.9999866" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3518" + id="linearGradient4252" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.901968,0,0,2.518653,-127.7063,47.25387)" + x1="53.162479" + y1="-14.322747" + x2="53.162479" + y2="-9.9868765" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3486" + id="linearGradient4255" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.48585,0,0,2.48585,-103.0483,47.16833)" + x1="49.45462" + y1="-12.934268" + x2="49.45462" + y2="-8.0529032" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3510" + id="linearGradient4258" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.48585,0,0,2.48585,-100.3774,47.19573)" + x1="45.5" + y1="-14" + x2="45.5" + y2="-8.1156492" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3286" + id="linearGradient4262" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.99378,0,0,2.99378,9.552849e-2,-0.965622)" + x1="8" + y1="15" + x2="8" + y2="0.9916327" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6020" + id="linearGradient6026" + x1="11.466431" + y1="11.008693" + x2="11.466431" + y2="15.000141" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6020" + id="linearGradient6030" + gradientUnits="userSpaceOnUse" + x1="11.466431" + y1="11.008693" + x2="11.466431" + y2="15.000141" + gradientTransform="matrix(1,0,0,1.75,0,-1.25)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3286" + id="linearGradient6052" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.99378,0,0,2.99378,-59.90447,-0.965622)" + x1="8" + y1="15" + x2="8" + y2="0.9916327" /> + </defs> + <sodipodi:namedview + inkscape:window-height="714" + inkscape:window-width="1014" + inkscape:pageshadow="2" + inkscape:pageopacity="0" + borderopacity="1" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" + showgrid="false" + showguides="true" + inkscape:guide-bbox="true" + inkscape:zoom="1" + inkscape:cx="27.558407" + inkscape:cy="20.353863" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:current-layer="svg2417" + showborder="false" + inkscape:showpageshadow="false" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:url(#radialGradient3305);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path2424" + sodipodi:cx="15.993708" + sodipodi:cy="26.722889" + sodipodi:rx="15.912521" + sodipodi:ry="4.7088075" + d="M 31.906229,26.722889 A 15.912521,4.7088075 0 1 1 31.906148,26.707864" + sodipodi:start="0" + sodipodi:end="6.2799944" + sodipodi:open="true" + transform="matrix(1.45896,0,0,1.538545,0.742037,-1.869655)" /> + <path + id="path3264" + d="M 21.80045,3.5250496 C 10.471905,4.3704822 1.592428,11.452408 1.592428,19.990844 C 1.592428,26.29506 6.3896918,31.807945 13.473996,34.585527 C 13.301077,37.113716 12.611393,40.274075 10.57377,42.444203 C 16.402876,42.263357 20.689781,39.28536 23.484452,36.456639 C 23.677129,36.460226 23.851935,36.456639 24.045787,36.456639 C 36.451938,36.456639 46.499142,29.098509 46.499142,19.990844 L 46.499142,19.897289 C 46.459634,10.808172 36.426737,3.5250496 24.045787,3.5250496 C 23.270404,3.5250496 22.555687,3.4686875 21.80045,3.5250496 z " + style="fill:url(#linearGradient4262);fill-opacity:1;fill-rule:nonzero;stroke:#797979;stroke-width:0.99999946;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + <path + sodipodi:nodetypes="ccccccccccccccccc" + id="path3552" + d="M 14.063569,10.992619 L 10.975162,10.992619 L 10.975162,15.008301 L 9,15.008301 L 9,18.010155 L 10.975162,18.010155 L 10.975162,24.823081 C 10.975162,28.316382 16.413217,26.749332 16.906897,25.946127 L 16.765885,23.742745 C 16.14428,24.364355 14.063569,24.882059 14.063569,24.09267 L 14.063569,18.010155 L 16.089796,18.010155 L 16.089796,15.008301 L 14.063569,15.008301 L 14.063569,11.090553 L 14.063569,11.090553 L 14.063569,10.992619 z " + style="fill:url(#linearGradient4258);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + style="fill:url(#linearGradient4255);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 20.513467,15.031036 C 20.138171,15.089956 19.656414,15.165467 19.228078,15.318859 C 17.702481,15.865192 16.671718,16.778263 16.671718,16.778263 L 17.928902,19.157272 C 19.392632,18.022338 22.111019,16.595753 21.828421,20.24551 C 16.134551,19.714196 14.746648,23.348506 16.160515,25.369297 C 17.612211,27.444158 20.173876,27.641863 21.329645,26.185476 C 21.514145,25.952987 21.740964,25.678231 21.873764,25.369297 C 22.016347,25.75349 22.226874,26.072865 22.417883,26.321505 C 22.574471,26.517581 23.312178,27.152657 24.004897,27.137684 C 24.806193,27.120365 25.583813,26.58185 26,25.958759 C 25.645136,26.22137 24.252362,25.650216 24.231613,24.779835 L 24.231613,18.29575 C 24.142462,16.667478 22.425687,14.730825 20.513467,15.031036 z M 21.193616,23.328851 C 21.034551,24.122851 19.396586,24.681233 18.790423,24.326402 C 17.894487,23.801947 19.229645,22.393776 20.377437,22.376643 C 21.417389,22.361119 21.33274,22.634384 21.193616,23.328851 z " + id="path3554" + sodipodi:nodetypes="cscccsscsscccccsss" /> + <path + id="path3558" + d="M 29,11 L 26.098032,11 L 26.098032,27.104637 L 29,27.104637 L 29,11 z " + style="fill:url(#linearGradient4252);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="ccccccccccccc" + id="path3560" + d="M 30,10.895363 L 30,19.851112 L 30,27 L 32.963722,27 L 32.963722,22.924045 L 36.561805,27.064163 L 38.705904,25.193137 L 34.676855,20.715264 L 38.705904,16.23739 L 36.754295,14.238037 L 32.968278,18.187047 C 32.968278,18.187047 32.963722,10.895363 32.963722,10.895363 L 30,10.895363 z " + style="fill:url(#linearGradient4249);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" + d="M 21.84375,4.03125 C 16.273135,4.4469767 11.295199,6.3799921 7.75,9.25 C 4.204801,12.120008 2.09375,15.904106 2.09375,20 C 2.093752,26.050562 6.709849,31.401486 13.65625,34.125 C 13.889662,34.247612 13.966606,34.430582 13.96875,34.625 C 13.8154,36.867085 13.233839,39.586592 11.6875,41.78125 C 16.756159,41.27394 20.580438,38.669315 23.125,36.09375 C 23.324492,35.928053 23.831229,35.96875 24.03125,35.96875 C 30.135475,35.96875 35.660367,34.1562 39.625,31.25 C 43.589633,28.3438 46,24.369973 46,20 L 46,19.90625 C 45.981043,15.545078 43.55655,11.604324 39.59375,8.71875 C 35.63095,5.8331761 30.123683,4.03125 24.03125,4.03125 C 23.381564,4.0312499 22.681539,3.982177 21.84375,4.03125 z M 24.03125,5.03125 C 29.927599,5.03125 35.264412,6.757119 39.03125,9.5 C 42.798088,12.242881 44.982638,15.911852 45,19.90625 L 45,20 C 45,24.002253 42.800008,27.674883 39.03125,30.4375 C 35.262492,33.200117 29.937773,34.96875 24.03125,34.96875 C 23.079654,34.946683 22.695929,35.117383 22.40625,35.40625 C 20.316957,37.520999 17.387178,39.593629 13.59375,40.46875 C 14.470139,38.520138 14.848653,36.443413 14.96875,34.6875 C 15.010593,33.903846 14.715478,33.607465 14.03125,33.1875 C 7.360656,30.572123 3.093751,25.543254 3.09375,20 C 3.09375,16.250753 5.042528,12.754344 8.40625,10.03125 C 11.769972,7.3081563 16.52295,5.4329977 21.90625,5.03125 C 22.667268,4.9737265 23.342191,5.0312499 24.03125,5.03125 z " + id="path6054" + sodipodi:nodetypes="csscccccsccssccsccscscccsscs" /> +</svg> diff --git a/trunk/data/scalable/empathy-proto-irc.svg b/trunk/data/scalable/empathy-proto-irc.svg new file mode 100644 index 000000000..a4ee660e3 --- /dev/null +++ b/trunk/data/scalable/empathy-proto-irc.svg @@ -0,0 +1,785 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="48" + height="48" + id="svg2" + inkscape:label="Pozadí" + sodipodi:version="0.32" + inkscape:version="0.44+devel" + version="1.0" + sodipodi:docname="online.svg" + sodipodi:docbase="/home/cornelius/GFX/ikony/gajim/sources/iconsets/transports/irc/48x48" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="true"> + <defs + id="defs3"> + <linearGradient + inkscape:collect="always" + id="linearGradient5702"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop5704" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop5706" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient4726"> + <stop + style="stop-color:#729fcf;stop-opacity:1;" + offset="0" + id="stop4728" /> + <stop + style="stop-color:#3465a4;stop-opacity:1" + offset="1" + id="stop4730" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4726" + id="linearGradient4732" + x1="3.7946429" + y1="7.0267859" + x2="13.392858" + y2="20.10984" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.8668106,0,0,2.8602375,1.0644378,6.9881155e-2)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5702" + id="radialGradient5708" + cx="15.625" + cy="29.767857" + fx="15.625" + fy="29.767857" + r="13.839286" + gradientTransform="matrix(1,0,0,7.0967742e-2,0,27.655299)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + r="21.035482" + fy="14.618562" + fx="24.687721" + cy="14.618562" + cx="24.687721" + gradientTransform="matrix(1.0297263,0,0,1.1788768,1.0605466,-1.8584828)" + gradientUnits="userSpaceOnUse" + id="radialGradient4947" + xlink:href="#linearGradient5816" + inkscape:collect="always" /> + <radialGradient + r="19" + fy="23.537582" + fx="16.488304" + cy="23.537582" + cx="16.488304" + gradientTransform="matrix(1.451479,0,0,1.326922,19.216439,-40.879303)" + gradientUnits="userSpaceOnUse" + id="radialGradient4944" + xlink:href="#linearGradient3103" + inkscape:collect="always" /> + <linearGradient + y2="42.285942" + x2="15.571428" + y1="29.99917" + x1="15.571428" + gradientTransform="matrix(0.721659,0,0,0.722208,31.336441,-26.878246)" + gradientUnits="userSpaceOnUse" + id="linearGradient4941" + xlink:href="#linearGradient3106" + inkscape:collect="always" /> + <linearGradient + y2="42.285942" + x2="15.571428" + y1="29.99917" + x1="15.571428" + gradientTransform="matrix(0.721659,0,0,0.722208,32.779758,-26.878246)" + gradientUnits="userSpaceOnUse" + id="linearGradient4938" + xlink:href="#linearGradient3106" + inkscape:collect="always" /> + <linearGradient + y2="42.405006" + x2="38.465416" + y1="2" + x1="16" + gradientTransform="matrix(0.909689,0,0,0.916448,27.52517,-27.353841)" + gradientUnits="userSpaceOnUse" + id="linearGradient4935" + xlink:href="#linearGradient3951" + inkscape:collect="always" /> + <radialGradient + r="9" + fy="22.17857" + fx="21.142859" + cy="22.17857" + cx="21.142859" + gradientTransform="matrix(0.764705,0,0,0.71453,30.987315,-32.88594)" + gradientUnits="userSpaceOnUse" + id="radialGradient4931" + xlink:href="#linearGradient3128" + inkscape:collect="always" /> + <linearGradient + y2="31.587952" + x2="32.927006" + y1="2" + x1="16" + gradientTransform="matrix(0.725295,0,0,0.682879,31.90823,-22.96952)" + gradientUnits="userSpaceOnUse" + id="linearGradient4927" + xlink:href="#linearGradient3951" + inkscape:collect="always" /> + <linearGradient + y2="38.499996" + x2="30.00001" + y1="31.785711" + x1="24.000008" + gradientTransform="matrix(0.514307,0,0,0.531053,37.022732,-26.679004)" + gradientUnits="userSpaceOnUse" + id="linearGradient4924" + xlink:href="#linearGradient3223" + inkscape:collect="always" /> + <linearGradient + y2="24.431168" + x2="27.055439" + y1="3.860764" + x1="17.725422" + gradientTransform="matrix(0.587733,0,0,0.453793,35.234662,-18.026032)" + gradientUnits="userSpaceOnUse" + id="linearGradient4921" + xlink:href="#linearGradient3951" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient3106"> + <stop + style="stop-color:black;stop-opacity:1;" + offset="0" + id="stop3108" /> + <stop + style="stop-color:black;stop-opacity:0;" + offset="1" + id="stop3110" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3121"> + <stop + style="stop-color:black;stop-opacity:1;" + offset="0" + id="stop3123" /> + <stop + style="stop-color:black;stop-opacity:0;" + offset="1" + id="stop3125" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3103"> + <stop + style="stop-color:#73d216;stop-opacity:1" + offset="0" + id="stop3105" /> + <stop + style="stop-color:#4e9a06;stop-opacity:1" + offset="1" + id="stop3107" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3223"> + <stop + style="stop-color:#729fcf;stop-opacity:1;" + offset="0" + id="stop3225" /> + <stop + style="stop-color:#396ea7;stop-opacity:1" + offset="1" + id="stop3227" /> + </linearGradient> + <linearGradient + id="linearGradient3128" + inkscape:collect="always"> + <stop + id="stop3130" + offset="0" + style="stop-color:#fef291;stop-opacity:1" /> + <stop + id="stop3132" + offset="1" + style="stop-color:#edd400;stop-opacity:1" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3112"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop3114" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop3116" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3096"> + <stop + style="stop-color:black;stop-opacity:1;" + offset="0" + id="stop3098" /> + <stop + style="stop-color:black;stop-opacity:0;" + offset="1" + id="stop3100" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3080"> + <stop + style="stop-color:#ad7fa8;stop-opacity:1" + offset="0" + id="stop3082" /> + <stop + style="stop-color:#75507b;stop-opacity:1" + offset="1" + id="stop3084" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3951" + id="linearGradient3957" + x1="16" + y1="2" + x2="32.927006" + y2="31.587952" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.725295,0,0,0.682879,-1.432029,1.826073)" /> + <linearGradient + inkscape:collect="always" + id="linearGradient3951"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop3953" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop3955" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3951" + id="linearGradient3092" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-1,3)" + x1="18.107143" + y1="53.76825" + x2="8.4828358" + y2="3.3976703" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3096" + id="radialGradient3102" + cx="23.081985" + cy="42.747208" + fx="23.081985" + fy="42.747208" + r="16.010918" + gradientTransform="matrix(1,0,0,0.119874,0,37.62294)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3080" + id="radialGradient3104" + cx="17.309582" + cy="24.508204" + fx="17.309582" + fy="24.508204" + r="17.031612" + gradientTransform="matrix(2.13216,1.122823e-2,-1.1822e-2,2.244913,-18.75993,-30.16344)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3112" + id="linearGradient3118" + x1="24.260687" + y1="2.5335035" + x2="24.832115" + y2="22.012075" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3128" + id="radialGradient3120" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.705883,0,0,1.667238,-17.94118,-19.21085)" + cx="21.142859" + cy="22.17857" + fx="21.142859" + fy="22.17857" + r="9" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3128" + id="radialGradient3221" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.764705,0,0,0.71453,-2.352944,-8.090347)" + cx="21.142859" + cy="22.17857" + fx="21.142859" + fy="22.17857" + r="9" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3223" + id="linearGradient3229" + x1="24.000008" + y1="31.785711" + x2="30.00001" + y2="38.499996" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.514307,0,0,0.531053,3.682473,-1.883411)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3103" + id="radialGradient3109" + cx="15.269456" + cy="24.907877" + fx="15.269456" + fy="24.907877" + r="19" + gradientTransform="matrix(1.989063,0,0,1.427178,-17.28077,-7.054682)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3951" + id="linearGradient3111" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.258493,0,0,1.2607,-6.203794,1.409664)" + x1="16" + y1="2" + x2="38.465416" + y2="42.405006" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3951" + id="linearGradient3115" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.909689,0,0,0.916448,-5.815089,-2.558248)" + x1="16" + y1="2" + x2="38.465416" + y2="42.405006" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3103" + id="radialGradient3117" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.451479,0,0,1.326922,-14.12382,-16.08371)" + cx="16.488304" + cy="23.537582" + fx="16.488304" + fy="23.537582" + r="19" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3121" + id="radialGradient3127" + cx="23.991123" + cy="44.514973" + fx="23.991123" + fy="44.514973" + r="20.85965" + gradientTransform="matrix(1,0,0,0.16707,0,37.07785)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3106" + id="linearGradient3113" + x1="15.571428" + y1="29.99917" + x2="15.571428" + y2="42.285942" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.721659,0,0,0.722208,-0.560501,-2.082653)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3106" + id="linearGradient3116" + x1="15.571428" + y1="29.99917" + x2="15.571428" + y2="42.285942" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.721659,0,0,0.722208,-2.003818,-2.082653)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3951" + id="linearGradient3122" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.587733,0,0,0.453793,1.894403,6.769561)" + x1="17.725422" + y1="3.860764" + x2="27.055439" + y2="24.431168" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0297263,0,0,1.1788768,1.0605466,-1.8584828)" + r="21.035482" + fy="14.618562" + fx="24.687721" + cy="14.618562" + cx="24.687721" + id="radialGradient5822" + xlink:href="#linearGradient5816" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3951" + id="linearGradient7539" + x1="16" + y1="2" + x2="32.927006" + y2="31.587952" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.993546,0,0,0.998054,0.154891,5.053486)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3951" + id="linearGradient7531" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-1,3)" + x1="18.107143" + y1="53.76825" + x2="8.4828358" + y2="3.3976703" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3096" + id="radialGradient7529" + cx="23.081985" + cy="42.747208" + fx="23.081985" + fy="42.747208" + r="16.010918" + gradientTransform="matrix(1,0,0,0.119874,0,37.62294)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3080" + id="radialGradient7527" + cx="17.309582" + cy="24.508204" + fx="17.309582" + fy="24.508204" + r="17.031612" + gradientTransform="matrix(2.13216,1.122823e-2,-1.1822e-2,2.244913,-18.75993,-30.16344)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3112" + id="linearGradient7525" + x1="24.260687" + y1="2.5335035" + x2="24.832115" + y2="22.012075" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3128" + id="radialGradient7523" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.705883,0,0,1.667238,-17.94118,-19.21085)" + cx="21.142859" + cy="22.17857" + fx="21.142859" + fy="22.17857" + r="9" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3128" + id="radialGradient7521" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.999999,0,0,1.000342,1.223408e-6,-8.326495)" + cx="21.142859" + cy="22.17857" + fx="21.142859" + fy="22.17857" + r="9" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3223" + id="linearGradient7519" + x1="24.000008" + y1="31.785711" + x2="30.00001" + y2="38.499996" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.679906,0,0,0.709362,7.683475,1.608315)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3103" + id="radialGradient7517" + cx="15.269456" + cy="24.907877" + fx="15.269456" + fy="24.907877" + r="19" + gradientTransform="matrix(1.989063,0,0,1.427178,-17.28077,-7.054682)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3951" + id="linearGradient7515" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.258493,0,0,1.2607,-6.203794,1.409664)" + x1="16" + y1="2" + x2="38.465416" + y2="42.405006" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3951" + id="linearGradient7513" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.258493,0,0,1.260118,-6.203794,-0.58013)" + x1="16" + y1="2" + x2="38.465416" + y2="42.405006" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3103" + id="radialGradient7511" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.989063,0,0,1.76923,-17.28077,-17.61162)" + cx="16.488304" + cy="23.537582" + fx="16.488304" + fy="23.537582" + r="19" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3121" + id="radialGradient7509" + cx="23.991123" + cy="44.514973" + fx="23.991123" + fy="44.514973" + r="20.85965" + gradientTransform="matrix(1,0,0,0.16707,0,37.07785)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3106" + id="linearGradient7507" + x1="15.571428" + y1="29.99917" + x2="15.571428" + y2="42.285942" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(1,0)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3106" + id="linearGradient7505" + x1="15.571428" + y1="29.99917" + x2="15.571428" + y2="42.285942" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-1,0)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3951" + id="linearGradient7503" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.993546,0,0,0.998054,0.154891,5.053486)" + x1="17.725422" + y1="3.860764" + x2="27.055439" + y2="24.431168" /> + <linearGradient + id="linearGradient5816"> + <stop + id="stop5818" + offset="0" + style="stop-color:#ffffff;stop-opacity:1" /> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0.39655173" + id="stop5856" /> + <stop + id="stop5820" + offset="1" + style="stop-color:#eeeeec;stop-opacity:1" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.309375,0,18.245309)" + r="14.288518" + fy="26.418547" + fx="15.538764" + cy="26.418547" + cx="15.538764" + id="radialGradient6773" + xlink:href="#linearGradient6767" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="6.1172719" + fy="6.093667" + fx="13.980121" + cy="6.093667" + cx="13.980121" + id="radialGradient6743" + xlink:href="#linearGradient6737" + inkscape:collect="always" /> + <linearGradient + gradientTransform="translate(0,-1)" + gradientUnits="userSpaceOnUse" + y2="32.797932" + x2="21.490084" + y1="14.441401" + x1="13.751941" + id="linearGradient6733" + xlink:href="#linearGradient6725" + inkscape:collect="always" /> + <linearGradient + id="linearGradient6725" + inkscape:collect="always"> + <stop + id="stop6727" + offset="0" + style="stop-color:#89afd7;stop-opacity:1" /> + <stop + id="stop6729" + offset="1" + style="stop-color:#3465a4;stop-opacity:1" /> + </linearGradient> + <linearGradient + id="linearGradient6737" + inkscape:collect="always"> + <stop + id="stop6739" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop6741" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient6767" + inkscape:collect="always"> + <stop + id="stop6769" + offset="0" + style="stop-color:#000000;stop-opacity:1;" /> + <stop + id="stop6771" + offset="1" + style="stop-color:#000000;stop-opacity:0;" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5816" + id="radialGradient4949" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0297263,0,0,1.1788768,1.0605466,-1.8584828)" + cx="24.687721" + cy="14.618562" + fx="24.687721" + fy="14.618562" + r="21.035482" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5816" + id="radialGradient4957" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0297263,0,0,1.1788768,1.0605466,-1.8584828)" + cx="24.687721" + cy="14.618562" + fx="24.687721" + fy="14.618562" + r="21.035482" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient5816" + id="radialGradient4965" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0297263,0,0,1.1788768,1.0605466,-1.8584828)" + cx="24.687721" + cy="14.618562" + fx="24.687721" + fy="14.618562" + r="21.035482" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="7.5424727" + inkscape:cx="8.4772054" + inkscape:cy="23.21386" + inkscape:document-units="px" + inkscape:current-layer="layer1" + width="48px" + height="48px" + showgrid="true" + inkscape:window-width="872" + inkscape:window-height="832" + inkscape:window-x="0" + inkscape:window-y="26" /> + <metadata + id="metadata6"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Vrstva 1" + inkscape:groupmode="layer" + id="layer1"> + <path + sodipodi:type="arc" + style="opacity:0.15283843;color:#000000;fill:url(#radialGradient5708);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000083;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="path4731" + sodipodi:cx="15.625" + sodipodi:cy="29.767857" + sodipodi:rx="13.839286" + sodipodi:ry="0.98214287" + d="M 29.464286 29.767857 A 13.839286 0.98214287 0 1 1 1.7857141,29.767857 A 13.839286 0.98214287 0 1 1 29.464286 29.767857 z" + transform="matrix(1.5927335,0,0,2.1126475,-0.928756,-17.814065)" /> + <path + style="color:#000000;fill:url(#linearGradient4732);fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 11.710498,1.5000001 L 11.335402,7.5101883 L 4.5662103,7.5101883 L 3.5695431,16.50653 L 10.772758,16.50653 L 9.6988854,30.506095 L 3.4468149,30.506095 L 2.5909602,38.50606 L 9.1779384,38.50606 L 8.7097247,44.489767 L 17.934439,44.489767 L 18.402655,38.50606 L 26.102306,38.50606 L 25.634091,44.499999 L 36.497679,44.499999 L 36.965895,38.50606 L 42.592344,38.50606 L 43.496352,30.506095 L 37.48684,30.506095 L 38.560714,16.50653 L 44.535561,16.50653 L 45.500001,7.5101883 L 39.123357,7.5101883 L 39.498452,1.5000001 L 28.634867,1.5000001 L 28.25977,7.5101883 L 20.560118,7.5101883 L 20.935214,1.5000001 L 11.710498,1.5000001 z M 19.997472,16.50653 L 27.697124,16.50653 L 26.623253,30.506095 L 18.923602,30.506095 L 19.997472,16.50653 z " + id="rect4737" + sodipodi:nodetypes="cccccccccccccccccccccccccccccccccc" /> + <path + style="opacity:0.26200873;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 12.662293,2.5180902 L 12.290327,8.5240213 L 5.4649928,8.5155529 L 4.6994408,15.495028 L 11.859082,15.495028 L 10.637401,31.50383 L 4.3121668,31.50383 L 3.7128969,37.498846 L 10.249669,37.498846 L 9.8112881,43.482303 L 17.022528,43.482303 L 17.491948,37.497074 L 27.200365,37.497074 L 26.738481,43.505582 L 35.56437,43.505582 L 36.026255,37.503304 L 41.699959,37.503304 L 42.364358,31.518008 L 36.406999,31.518008 L 37.604901,15.487939 L 43.665365,15.487939 L 44.377785,8.5141728 L 38.03532,8.5141728 L 38.44715,2.501924 L 29.615827,2.5368429 L 29.186539,8.4967134 L 19.465706,8.5141728 L 19.831433,2.5077438 L 12.662293,2.5180902 z M 19.077577,15.487939 L 28.791039,15.487939 L 27.56016,31.518008 L 17.840881,31.518008 L 19.077577,15.487939 z " + id="rect5703" + sodipodi:nodetypes="cccccccccccccccccccccccccccccccccc" /> + </g> +</svg> diff --git a/trunk/data/scalable/empathy-proto-jabber.svg b/trunk/data/scalable/empathy-proto-jabber.svg new file mode 100644 index 000000000..5a0c644f7 --- /dev/null +++ b/trunk/data/scalable/empathy-proto-jabber.svg @@ -0,0 +1,823 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="48" + height="48" + id="svg1871" + sodipodi:version="0.32" + inkscape:version="0.43" + sodipodi:docbase="/home/vinicius/tango-icon-theme-code/protocols/scalable" + sodipodi:docname="jabber.svg" + version="1.0" + inkscape:export-filename="/home/vinicius/tango-icon-theme-code/protocols/48x48/jabber.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs1873"> + <linearGradient + id="linearGradient9799"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop9801" /> + <stop + style="stop-color:#ffe90c;stop-opacity:0;" + offset="1" + id="stop9803" /> + </linearGradient> + <linearGradient + id="linearGradient6172"> + <stop + style="stop-color:#d7b310;stop-opacity:1;" + offset="0" + id="stop6174" /> + <stop + style="stop-color:#a68a0c;stop-opacity:1;" + offset="1" + id="stop6176" /> + </linearGradient> + <linearGradient + id="linearGradient6164"> + <stop + style="stop-color:#ffe25e;stop-opacity:1;" + offset="0" + id="stop6166" /> + <stop + style="stop-color:#ddb501;stop-opacity:1;" + offset="1" + id="stop6168" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient6150"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop6152" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop6154" /> + </linearGradient> + <linearGradient + id="linearGradient6130"> + <stop + style="stop-color:#ffffff;stop-opacity:0.38461539;" + offset="0" + id="stop6132" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop6134" /> + </linearGradient> + <linearGradient + id="linearGradient4329"> + <stop + style="stop-color:#ffffff;stop-opacity:0.2820513;" + offset="0" + id="stop4331" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop4333" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient4304"> + <stop + style="stop-color:#4a688f;stop-opacity:1;" + offset="0" + id="stop4306" /> + <stop + style="stop-color:#4a688f;stop-opacity:0;" + offset="1" + id="stop4308" /> + </linearGradient> + <linearGradient + id="linearGradient4286"> + <stop + id="stop4288" + offset="0" + style="stop-color:#ffffff;stop-opacity:0.35897437;" /> + <stop + id="stop4292" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient4268"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop4270" /> + <stop + id="stop4280" + offset="0.69696969" + style="stop-color:#ffffff;stop-opacity:0.6837607;" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop4272" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient4258"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop4260" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop4262" /> + </linearGradient> + <linearGradient + id="linearGradient4229"> + <stop + style="stop-color:#598fc7;stop-opacity:1;" + offset="0" + id="stop4231" /> + <stop + style="stop-color:#83abd5;stop-opacity:0.42735043;" + offset="1" + id="stop4233" /> + </linearGradient> + <linearGradient + id="linearGradient2876" + inkscape:collect="always"> + <stop + id="stop2878" + offset="0" + style="stop-color:#323232;stop-opacity:0.30769232" /> + <stop + id="stop2880" + offset="1" + style="stop-color:#2e3436;stop-opacity:0.1025641" /> + </linearGradient> + <linearGradient + id="linearGradient2870" + inkscape:collect="always"> + <stop + id="stop2872" + offset="0" + style="stop-color:#323232;stop-opacity:0.30769232" /> + <stop + id="stop2874" + offset="1" + style="stop-color:#2e3436;stop-opacity:0.1025641" /> + </linearGradient> + <linearGradient + id="linearGradient2864" + inkscape:collect="always"> + <stop + id="stop2866" + offset="0" + style="stop-color:#323232;stop-opacity:0.30769232" /> + <stop + id="stop2868" + offset="1" + style="stop-color:#2e3436;stop-opacity:0.1025641" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2850"> + <stop + style="stop-color:#323232;stop-opacity:0.30769232" + offset="0" + id="stop2852" /> + <stop + style="stop-color:#2e3436;stop-opacity:0.1025641" + offset="1" + id="stop2854" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2834"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop2836" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop2838" /> + </linearGradient> + <linearGradient + id="linearGradient2822"> + <stop + style="stop-color:#000000;stop-opacity:0.5726496;" + offset="0" + id="stop2824" /> + <stop + style="stop-color:#888a85;stop-opacity:0;" + offset="1" + id="stop2826" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2806"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2808" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2810" /> + </linearGradient> + <linearGradient + id="linearGradient2784"> + <stop + style="stop-color:#b1cae5;stop-opacity:1;" + offset="0" + id="stop2786" /> + <stop + style="stop-color:#7da7d3;stop-opacity:1;" + offset="1" + id="stop2788" /> + </linearGradient> + <linearGradient + id="linearGradient2770"> + <stop + id="stop2780" + offset="0" + style="stop-color:#f7ca06;stop-opacity:1;" /> + <stop + id="stop2778" + offset="1" + style="stop-color:#ddb500;stop-opacity:1;" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2770" + id="radialGradient2782" + cx="24" + cy="31.998903" + fx="24" + fy="31.998903" + r="5.1111112" + gradientTransform="matrix(1.177875,-2.852224e-6,4.804298e-6,1.984017,128.7181,-24.39899)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2806" + id="linearGradient2812" + x1="24.243662" + y1="8.283493" + x2="24.243662" + y2="15.575864" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2822" + id="radialGradient2828" + cx="22.5" + cy="39.5" + fx="22.5" + fy="39.5" + r="9.5714283" + gradientTransform="matrix(1,0,0,0.156716,-8.66148e-15,33.3097)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2834" + id="linearGradient2840" + x1="21.892857" + y1="31.857143" + x2="19.892857" + y2="31.821428" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.547661,0,0,1.006725,-188.1161,6.782803)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2850" + id="linearGradient2856" + x1="29" + y1="31.928572" + x2="18.992893" + y2="31.928572" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(133.0714,7.024918)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2876" + id="linearGradient2858" + x1="29" + y1="31.928572" + x2="18.992893" + y2="31.928572" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(133.0714,7.024918)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2870" + id="linearGradient2860" + x1="29" + y1="31.928572" + x2="18.992893" + y2="31.928572" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(133.0714,7.024918)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2864" + id="linearGradient2862" + x1="29" + y1="31.928572" + x2="18.992893" + y2="31.928572" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(133.0714,7.024918)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2784" + id="radialGradient2886" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.803569,0,0,0.904418,137.75,8.764641)" + cx="21.410719" + cy="13.634925" + fx="21.410719" + fy="13.634925" + r="10.000002" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2822" + id="radialGradient2459" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.156716,-7.566431e-15,33.3097)" + cx="22.5" + cy="39.5" + fx="22.5" + fy="39.5" + r="9.5714283" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2770" + id="radialGradient2461" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.455022,-3.523335e-6,5.934721e-6,2.450844,62.04681,-37.57249)" + cx="24" + cy="31.998903" + fx="24" + fy="31.998903" + r="5.1111112" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2850" + id="linearGradient2463" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.235294,0,0,1.235294,67.42431,1.24528)" + x1="29" + y1="31.928572" + x2="18.992893" + y2="31.928572" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2876" + id="linearGradient2465" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.235294,0,0,1.235294,67.42431,1.24528)" + x1="29" + y1="31.928572" + x2="18.992893" + y2="31.928572" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2864" + id="linearGradient2467" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.235294,0,0,1.235294,67.42431,1.24528)" + x1="29" + y1="31.928572" + x2="18.992893" + y2="31.928572" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2870" + id="linearGradient2469" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.235294,0,0,1.235294,67.42431,1.24528)" + x1="29" + y1="31.928572" + x2="18.992893" + y2="31.928572" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2834" + id="linearGradient2471" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.911816,0,0,1.243601,-135.4207,0.946197)" + x1="21.892857" + y1="31.857143" + x2="19.892857" + y2="31.821428" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2784" + id="radialGradient2473" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.992644,0,0,1.117222,73.20385,3.39435)" + cx="21.410719" + cy="13.634925" + fx="21.410719" + fy="13.634925" + r="10.000002" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2806" + id="linearGradient2475" + gradientUnits="userSpaceOnUse" + x1="24.243662" + y1="8.283493" + x2="24.243662" + y2="15.575864" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2822" + id="radialGradient6200" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.156716,6.632281e-15,33.3097)" + cx="22.5" + cy="39.5" + fx="22.5" + fy="39.5" + r="9.5714283" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4286" + id="radialGradient6214" + gradientUnits="userSpaceOnUse" + cx="-15.744033" + cy="6.9223866" + fx="-15.744033" + fy="6.9223866" + r="4.1984086" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4268" + id="radialGradient6216" + gradientUnits="userSpaceOnUse" + cx="-15.744033" + cy="6.9223866" + fx="-15.744033" + fy="6.9223866" + r="4.1984086" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4286" + id="radialGradient6218" + gradientUnits="userSpaceOnUse" + cx="-15.744033" + cy="6.9223866" + fx="-15.744033" + fy="6.9223866" + r="4.1984086" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4286" + id="radialGradient6220" + gradientUnits="userSpaceOnUse" + cx="-15.744033" + cy="6.9223866" + fx="-15.744033" + fy="6.9223866" + r="4.1984086" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4286" + id="radialGradient6226" + gradientUnits="userSpaceOnUse" + cx="-15.744033" + cy="6.9223866" + fx="-15.744033" + fy="6.9223866" + r="4.1984086" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6130" + id="linearGradient6235" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(53.07137,4.055053)" + x1="-22.025336" + y1="38.978642" + x2="-13.717407" + y2="38.978642" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6130" + id="linearGradient6238" + gradientUnits="userSpaceOnUse" + x1="-22.025336" + y1="38.978642" + x2="-13.717407" + y2="38.978642" + gradientTransform="translate(53.07137,7.088386)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4329" + id="linearGradient6242" + gradientUnits="userSpaceOnUse" + x1="-8.1521196" + y1="19.291933" + x2="4.5723252" + y2="28.471338" + gradientTransform="translate(40,0)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4304" + id="linearGradient6246" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-1,0,0,1,35.65306,0.105556)" + x1="2.8009398" + y1="27.491987" + x2="2.8009398" + y2="34.096104" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4304" + id="linearGradient6249" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(39.15556,0.105556)" + x1="2.8009398" + y1="27.491987" + x2="2.8009398" + y2="34.096104" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4258" + id="linearGradient6256" + gradientUnits="userSpaceOnUse" + x1="-11.40672" + y1="11.93154" + x2="-2.9130051" + y2="30.731573" + gradientTransform="translate(40,0)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4229" + id="linearGradient6259" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(13.0714,7.088386)" + x1="24.755554" + y1="3.0808382" + x2="24.755554" + y2="32.933792" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6130" + id="linearGradient6262" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(53.07137,1.093942)" + x1="-22.025336" + y1="38.978642" + x2="-13.717407" + y2="38.978642" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6150" + id="linearGradient6265" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(120,0)" + x1="-82.928665" + y1="39.935253" + x2="-82.928665" + y2="26.88372" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6164" + id="linearGradient6268" + gradientUnits="userSpaceOnUse" + x1="-9.9619218" + y1="43.961208" + x2="4.1226539" + y2="43.961208" + gradientTransform="translate(40,0)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6172" + id="linearGradient6270" + gradientUnits="userSpaceOnUse" + x1="-9.9619218" + y1="43.961208" + x2="4.1226539" + y2="43.961208" + gradientTransform="translate(40,0)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient9799" + id="radialGradient9805" + cx="-35" + cy="17.666666" + fx="-35" + fy="17.666666" + r="16.916666" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1" + inkscape:cx="29.892722" + inkscape:cy="32.630059" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:grid-bbox="true" + inkscape:document-units="px" + inkscape:grid-points="true" + inkscape:object-bbox="true" + inkscape:object-points="true" + inkscape:window-width="1024" + inkscape:window-height="719" + inkscape:window-x="0" + inkscape:window-y="0" + width="48px" + height="48px" + showborder="false" + fill="#edd400" + showguides="true" + inkscape:guide-bbox="true" /> + <metadata + id="metadata1876"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>Jabber Protocol</dc:title> + <dc:date>2006-12-08</dc:date> + <dc:creator> + <cc:Agent> + <dc:title>Vinicius Scopel Depizzol</dc:title> + </cc:Agent> + </dc:creator> + <dc:source>vdepizzol@gmail.com</dc:source> + <cc:license + rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" /> + <dc:subject> + <rdf:Bag> + <rdf:li>Jabber protocol</rdf:li> + <rdf:li>lamp</rdf:li> + </rdf:Bag> + </dc:subject> + </cc:Work> + <cc:License + rdf:about="http://creativecommons.org/licenses/by-sa/2.0/"> + <cc:permits + rdf:resource="http://web.resource.org/cc/Reproduction" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/Distribution" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/Notice" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/Attribution" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/ShareAlike" /> + </cc:License> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer" + transform="translate(-13.07137,-7.088386)"> + <path + sodipodi:type="arc" + style="color:#000000;fill:url(#radialGradient6200);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + id="path6160" + sodipodi:cx="22.5" + sodipodi:cy="39.5" + sodipodi:rx="9.5714283" + sodipodi:ry="1.5" + d="M 32.071428 39.5 A 9.5714283 1.5 0 1 1 12.928572,39.5 A 9.5714283 1.5 0 1 1 32.071428 39.5 z" + transform="matrix(1.419665,0,0,3.296483,5.12889,-80.06742)" /> + <path + sodipodi:nodetypes="csccs" + id="path6126" + d="M 43.292098,48.118816 C 43.292098,47.44493 31.160602,47.604675 31.160602,48.278562 C 31.160602,49.158739 31.625575,49.133695 33.08308,49.133696 C 35.703863,49.809952 38.622147,49.692363 41.24293,49.33203 C 41.379571,49.33203 43.292099,48.916475 43.292098,48.118816 z " + style="fill:#a98c0c;fill-opacity:1;fill-rule:nonzero;stroke:#a98c0c;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + style="fill:url(#linearGradient6268);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient6270);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 32.77203,38.568817 C 31.506529,38.684945 30.538077,39.347983 30.538078,40.145642 C 30.538078,40.819528 31.215251,41.401493 32.191783,41.633212 C 31.215251,41.864932 30.538077,42.417147 30.538078,43.091031 C 30.538078,43.751165 31.188862,44.338052 32.133759,44.578602 C 31.188862,44.819152 30.538077,45.376289 30.538078,46.036421 C 30.538078,46.696553 31.188862,47.283442 32.133759,47.523991 C 31.188862,47.76454 29.847011,48.873789 32.45717,49.237298 C 34.994593,49.642808 39.799202,49.025097 42.026974,47.523991 C 42.835362,46.979287 43.622654,46.696554 43.622654,46.036421 C 43.622654,45.376288 42.97187,44.819152 42.026974,44.578602 C 42.97187,44.338053 43.622654,43.751166 43.622654,43.091031 C 43.622654,42.417146 42.945481,41.864932 41.968949,41.633212 C 42.945481,41.401494 43.622654,40.819529 43.622654,40.145642 C 43.622654,39.265465 42.469046,38.568818 41.011541,38.568817 L 33.149191,38.568817 C 33.012549,38.568817 32.902944,38.556804 32.77203,38.568817 z " + id="rect4337" + sodipodi:nodetypes="cscscsccsscscsccc" /> + <path + style="fill:#ffffff;fill-opacity:0.55411257;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 34.41591,38.909223 C 33.237269,39.016733 32.349447,39.646239 32.349448,40.384706 C 32.349448,40.511432 32.387667,40.643111 32.436764,40.76081 C 32.473199,40.841698 32.524933,40.946402 32.582289,41.02119 C 32.641849,41.095218 32.736823,41.186188 32.81513,41.252638 C 33.082693,41.471059 33.465688,41.643908 33.892019,41.744466 C 33.380422,41.865136 32.942138,42.105277 32.669604,42.380949 C 32.574233,42.481714 32.489391,42.613195 32.436764,42.728122 C 32.387667,42.844009 32.349448,42.9775 32.349448,43.104226 C 32.349448,43.237915 32.382233,43.384708 32.436764,43.50926 C 32.494922,43.632958 32.593472,43.776474 32.69871,43.885364 C 32.957939,44.142907 33.346307,44.373732 33.804703,44.492917 C 33.355387,44.612443 32.954069,44.824912 32.69871,45.071537 C 32.676158,45.094232 32.631908,45.134844 32.611394,45.158331 C 32.571753,45.205812 32.525968,45.281564 32.494974,45.331917 C 32.406475,45.484317 32.349448,45.65186 32.349448,45.823745 C 32.349449,46.42534 32.946917,46.983413 33.804703,47.212435 C 33.415063,47.320703 32.95378,47.595813 32.786025,47.877849 C 32.78321,47.882901 32.75955,47.901717 32.75692,47.906781 C 32.754479,47.911857 32.759169,47.930624 32.75692,47.935712 C 32.750761,47.951001 32.732137,47.97823 32.727814,47.993574 C 32.725357,48.00381 32.729402,48.041195 32.727814,48.051436 C 32.727244,48.056556 32.728158,48.07525 32.727814,48.080367 C 32.727702,48.085481 32.727692,48.10419 32.727814,48.109298 C 32.728176,48.1144 32.72721,48.133135 32.727814,48.138229 C 32.728665,48.143314 32.726713,48.162087 32.727814,48.16716 C 32.729169,48.172222 32.726201,48.191044 32.727814,48.196092 C 32.729689,48.201124 32.754779,48.220006 32.75692,48.225022 C 32.75933,48.23002 32.754235,48.248976 32.75692,48.253953 C 32.759881,48.258911 32.782782,48.277949 32.786025,48.282885 C 32.817778,48.32709 32.875136,48.385832 32.93155,48.42754 C 33.142495,48.57462 33.517108,48.71951 34.124859,48.803644 C 34.708573,48.89637 35.417948,48.911341 36.191321,48.890437 C 35.88822,48.87187 35.605755,48.844706 35.347273,48.803644 C 34.910452,48.743172 34.580334,48.639647 34.3577,48.543264 C 34.301773,48.517816 34.226576,48.483567 34.183069,48.456471 C 34.134632,48.424573 34.070495,48.374365 34.037544,48.340747 C 34.015509,48.316587 33.994142,48.278742 33.979334,48.253953 C 33.97128,48.239019 33.955854,48.211188 33.950229,48.196092 C 33.948615,48.191044 33.951584,48.172222 33.950229,48.16716 C 33.946926,48.151939 33.922208,48.124604 33.921123,48.109298 C 33.921001,48.10419 33.92101,48.085481 33.921123,48.080367 C 33.922497,48.059898 33.945313,48.014047 33.950229,47.993574 C 33.951669,47.988459 33.94858,47.969753 33.950229,47.964642 C 33.955786,47.949332 33.972009,47.92201 33.979334,47.906781 C 33.987224,47.891588 33.998921,47.86398 34.008439,47.848919 C 34.189109,47.578782 34.622287,47.316835 34.998012,47.212435 C 34.616774,47.110648 34.284115,46.922455 34.037544,46.720608 C 33.899982,46.603672 33.766948,46.453825 33.688282,46.315573 C 33.608977,46.167544 33.571863,45.98608 33.571863,45.823745 C 33.571863,45.76645 33.561481,45.705614 33.571863,45.650158 C 33.608034,45.484805 33.714884,45.300778 33.833808,45.158331 C 33.888514,45.095701 33.968762,45.012566 34.037544,44.955813 C 34.29292,44.752942 34.657453,44.593828 35.056222,44.492917 C 34.38244,44.322412 33.862733,43.942201 33.659178,43.50926 C 33.604647,43.384708 33.571863,43.237915 33.571863,43.104226 C 33.571863,42.889767 33.64084,42.677035 33.775598,42.496674 C 34.036887,42.164097 34.531781,41.881896 35.114432,41.744466 C 34.204927,41.529942 33.571861,41.008587 33.571863,40.384706 C 33.571861,39.646239 34.459683,39.016733 35.638324,38.909223 L 34.765171,38.909223 C 34.637907,38.909223 34.537839,38.898101 34.41591,38.909223 z " + id="path7147" /> + <path + style="fill:url(#linearGradient6265);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" + d="M 49.490469,23.048758 C 49.490469,31.088683 43.07137,38.088386 41.07137,39.088386 C 38.551317,40.348412 35.051884,40.078643 33.07137,39.088386 C 31.07137,38.088386 24.652208,31.09936 24.652208,23.088386 C 24.652208,16.233009 30.215993,10.669224 37.07137,10.669224 C 43.912821,10.669224 49.468638,16.207341 49.490469,23.048758 z " + id="path6146" + sodipodi:nodetypes="csscsc" /> + <path + style="fill:url(#linearGradient6262);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 33.700166,41.555547 L 39.261277,40.319744 L 39.353963,38.589621 L 31.074086,39.979899 C 30.817208,40.788174 32.374556,41.142893 33.700166,41.555547 z " + id="path6142" + sodipodi:nodetypes="ccccc" /> + <path + sodipodi:nodetypes="csscsc" + id="path6102" + d="M 49.490469,23.048758 C 49.490469,31.088683 43.07137,38.088386 41.07137,39.088386 C 38.551317,40.348412 35.051884,40.078643 33.07137,39.088386 C 31.07137,38.088386 24.652208,31.09936 24.652208,23.088386 C 24.652208,16.233009 30.215993,10.669224 37.07137,10.669224 C 43.912821,10.669224 49.468638,16.207341 49.490469,23.048758 z " + style="fill:url(#linearGradient6259);fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" /> + <path + style="fill:url(#linearGradient6256);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 36.60262,11.150886 C 30.232119,11.393701 25.165125,16.657873 25.16512,23.088386 C 25.16512,25.412344 26.151514,29.737923 28.353052,33.143849 C 30.554593,36.549776 33.920875,38.994636 37.07137,38.994636 C 40.221457,38.994636 43.539676,36.543194 45.741277,33.130258 C 47.942877,29.717323 49.008898,25.393357 49.00887,23.057136 C 48.9879,16.485549 43.642989,11.150886 37.07137,11.150886 C 36.917038,11.150886 36.755512,11.145058 36.60262,11.150886 z M 36.63387,12.150886 C 36.774176,12.145558 36.929719,12.150886 37.07137,12.150886 C 43.103326,12.150886 47.989622,17.025209 48.00887,23.057136 C 48.008894,25.025402 47.006607,29.298248 44.897527,32.567758 C 42.788446,35.837269 39.666253,37.994636 37.07137,37.994636 C 34.475263,37.994637 31.305689,35.875184 29.196802,32.612599 C 27.087914,29.350015 26.16512,25.042722 26.16512,23.088386 C 26.165124,17.186254 30.787789,12.372894 36.63387,12.150886 z " + id="path4237" + sodipodi:nodetypes="csssscsccscssssc" /> + <path + sodipodi:type="arc" + style="fill:url(#radialGradient6214);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4298" + sodipodi:cx="-15.744033" + sodipodi:cy="6.9223866" + sodipodi:rx="4.1984086" + sodipodi:ry="4.1984086" + d="M -11.545624 6.9223866 A 4.1984086 4.1984086 0 1 1 -19.942441,6.9223866 A 4.1984086 4.1984086 0 1 1 -11.545624 6.9223866 z" + transform="matrix(2.500588,0,0,1.692581,76.12785,6.484633)" /> + <path + sodipodi:type="arc" + style="fill:url(#radialGradient6216);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4266" + sodipodi:cx="-15.744033" + sodipodi:cy="6.9223866" + sodipodi:rx="4.1984086" + sodipodi:ry="4.1984086" + d="M -11.545624 6.9223866 A 4.1984086 4.1984086 0 1 1 -19.942441,6.9223866 A 4.1984086 4.1984086 0 1 1 -11.545624 6.9223866 z" + transform="matrix(1.535647,0,0,0.871467,61.24861,9.59339)" /> + <path + transform="matrix(1.89961,0,0,2.006968,66.76697,16.52036)" + d="M -11.545624 6.9223866 A 4.1984086 4.1984086 0 1 1 -19.942441,6.9223866 A 4.1984086 4.1984086 0 1 1 -11.545624 6.9223866 z" + sodipodi:ry="4.1984086" + sodipodi:rx="4.1984086" + sodipodi:cy="6.9223866" + sodipodi:cx="-15.744033" + id="path4282" + style="fill:url(#radialGradient6218);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + <path + sodipodi:type="arc" + style="fill:url(#radialGradient6220);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4294" + sodipodi:cx="-15.744033" + sodipodi:cy="6.9223866" + sodipodi:rx="4.1984086" + sodipodi:ry="4.1984086" + d="M -11.545624 6.9223866 A 4.1984086 4.1984086 0 1 1 -19.942441,6.9223866 A 4.1984086 4.1984086 0 1 1 -11.545624 6.9223866 z" + transform="matrix(0.717003,0.287211,-0.303443,0.757526,43.85963,18.85801)" /> + <path + style="fill:url(#linearGradient6249);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 41.136316,34.184687 L 42.871347,27.105762 L 43.010149,25.578935 L 39.956495,24.12151 L 41.969131,26.203547 L 41.552724,27.730373 L 41.136316,34.184687 z " + id="path4302" + sodipodi:nodetypes="ccccccc" /> + <path + sodipodi:nodetypes="ccccccc" + id="path4312" + d="M 33.672304,34.184687 L 31.937273,27.105762 L 31.798471,25.578935 L 34.852125,24.12151 L 32.839489,26.203547 L 33.255896,27.730373 L 33.672304,34.184687 z " + style="fill:url(#linearGradient6246);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + transform="matrix(0.539393,0.111248,0.317287,0.918176,39.12195,26.35335)" + d="M -11.545624 6.9223866 A 4.1984086 4.1984086 0 1 1 -19.942441,6.9223866 A 4.1984086 4.1984086 0 1 1 -11.545624 6.9223866 z" + sodipodi:ry="4.1984086" + sodipodi:rx="4.1984086" + sodipodi:cy="6.9223866" + sodipodi:cx="-15.744033" + id="path4316" + style="fill:url(#radialGradient6226);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + <path + style="fill:url(#linearGradient6242);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" + d="M 36.360502,11.056935 C 34.337406,11.185299 32.458533,11.816641 30.826504,12.820517 C 29.659392,23.483651 37.284146,33.517471 40.64783,38.088386 C 45.613399,35.24546 49.222536,27.107639 49.222486,23.097942 C 49.201244,16.44117 43.807877,11.056935 37.151073,11.056935 C 36.890512,11.056935 36.61698,11.040662 36.360502,11.056935 z " + id="path4320" + sodipodi:nodetypes="ccccsc" /> + <path + style="fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 33.36549,49.665959 C 34.972208,50.183269 39.111719,50.269694 40.777254,49.586538 L 38.318259,51.502699 C 37.459317,52.024147 36.636263,51.953445 35.836078,51.505408 L 33.36549,49.665959 z " + id="path6124" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:url(#linearGradient6238);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 33.700166,47.549991 L 39.261277,46.314188 L 39.353963,44.584065 L 31.074086,45.974343 C 30.817208,46.782618 32.374556,47.137337 33.700166,47.549991 z " + id="path6128" + sodipodi:nodetypes="ccccc" /> + <path + sodipodi:nodetypes="ccccc" + id="path6138" + d="M 33.700166,44.516658 L 39.261277,43.280855 L 39.353963,41.550732 L 31.074086,42.94101 C 30.817208,43.749285 32.374556,44.104004 33.700166,44.516658 z " + style="fill:url(#linearGradient6235);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + </g> +</svg> diff --git a/trunk/data/scalable/empathy-proto-msn.svg b/trunk/data/scalable/empathy-proto-msn.svg new file mode 100644 index 000000000..eb6511638 --- /dev/null +++ b/trunk/data/scalable/empathy-proto-msn.svg @@ -0,0 +1,302 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.43" + width="48" + height="48" + version="1.0" + inkscape:export-filename="/home/vinicius/tango-icon-theme-code/protocols/msn-48.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:docbase="/home/vinicius/tango-icon-theme-code/protocols/scalable" + sodipodi:docname="msn.svg"> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>MSN Protocol</dc:title> + <dc:date>2006-11-29</dc:date> + <dc:creator> + <cc:Agent> + <dc:title>Vinicius Scopel Depizzol</dc:title> + </cc:Agent> + </dc:creator> + <dc:source>vdepizzol@gmail.com</dc:source> + <dc:subject> + <rdf:Bag> + <rdf:li>MSN</rdf:li> + <rdf:li>Protocol</rdf:li> + </rdf:Bag> + </dc:subject> + <cc:license + rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /> + </cc:Work> + <cc:License + rdf:about="http://creativecommons.org/licenses/GPL/2.0/"> + <cc:permits + rdf:resource="http://web.resource.org/cc/Reproduction" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/Distribution" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/Notice" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/ShareAlike" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/SourceCode" /> + </cc:License> + </rdf:RDF> + </metadata> + <defs + id="defs5"> + <linearGradient + id="linearGradient3286"> + <stop + id="stop3288" + offset="0" + style="stop-color:#c7d9ec;stop-opacity:1;" /> + <stop + id="stop3290" + offset="1" + style="stop-color:#dfe9f4;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient7013"> + <stop + style="stop-color:#c7d9ec;stop-opacity:1;" + offset="0" + id="stop7015" /> + <stop + style="stop-color:#dfe9f4;stop-opacity:1;" + offset="1" + id="stop7017" /> + </linearGradient> + <linearGradient + id="linearGradient4380"> + <stop + style="stop-color:#000000;stop-opacity:0.60344827;" + offset="0" + id="stop4382" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop4384" /> + </linearGradient> + <linearGradient + id="linearGradient16408"> + <stop + style="stop-color:#87b2e0;stop-opacity:1;" + offset="0" + id="stop16410" /> + <stop + style="stop-color:#3f7ab9;stop-opacity:1;" + offset="1" + id="stop16412" /> + </linearGradient> + <linearGradient + id="linearGradient14652"> + <stop + style="stop-color:#badcff;stop-opacity:1;" + offset="0" + id="stop14654" /> + <stop + style="stop-color:#729fcf;stop-opacity:1;" + offset="1" + id="stop14656" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient14652" + id="radialGradient14658" + cx="24.80966" + cy="3.1118734" + fx="24.80966" + fy="3.1118734" + r="4.045774" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.143376,-1.546375e-15,1.755727e-15,1.33519,-3.557111,-1.043069)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient16408" + id="linearGradient2630" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.56247,0,0,2.753017,3.471512,0.653917)" + x1="7.3585782" + y1="10.033006" + x2="7.4242849" + y2="15.283006" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4380" + id="radialGradient4386" + cx="11.403918" + cy="11.820429" + fx="11.403918" + fy="11.820429" + r="3.9179103" + gradientTransform="matrix(1,0,0,0.4375,-9.43595e-18,6.648991)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient4380" + id="radialGradient4390" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.4375,4.14469e-15,6.648991)" + cx="11.403918" + cy="11.820429" + fx="11.403918" + fy="11.820429" + r="3.9179103" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient7013" + id="linearGradient7019" + x1="27.18845" + y1="8.5750885" + x2="23.755941" + y2="1.5480845" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3286" + id="linearGradient7027" + x1="14.197828" + y1="20.762081" + x2="5.7143059" + y2="8.1650333" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.045145,0,0,2.025318,0.739154,0.465862)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient16408" + id="linearGradient7946" + x1="7.0555573" + y1="33.672562" + x2="11.832954" + y2="35.06567" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.927935,0,0,1,1.147813,0)" /> + </defs> + <sodipodi:namedview + inkscape:window-height="714" + inkscape:window-width="1014" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" + showgrid="false" + fill="#729fcf" + showborder="false" + inkscape:zoom="1" + inkscape:cx="37.5" + inkscape:cy="19" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:current-layer="svg2" + showguides="true" + inkscape:guide-bbox="true" /> + <path + transform="matrix(4.526985,0,0,3.006648,-28.23745,5.709214)" + sodipodi:open="true" + sodipodi:end="6.2799944" + sodipodi:start="0" + d="M 15.321829,11.820429 A 3.9179103,1.7140858 0 1 1 15.321809,11.814959" + sodipodi:ry="1.7140858" + sodipodi:rx="3.9179103" + sodipodi:cy="11.820429" + sodipodi:cx="11.403918" + id="path4388" + style="opacity:1;fill:url(#radialGradient4390);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.48917751" + sodipodi:type="arc" /> + <path + style="fill:url(#linearGradient7946);fill-opacity:1;fill-rule:evenodd;stroke:#3465a4;stroke-width:1.00000048px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" + d="M 15.46346,24.414244 C 10.785493,28.476792 1.6101807,34.975993 7.2307622,38.679967 C 12.779079,42.336318 14.894624,28.872343 14.894624,28.872343" + id="path8525" + sodipodi:nodetypes="czc" /> + <path + sodipodi:nodetypes="czc" + id="path7071" + d="M 15.353246,25.591713 C 11.734612,29.238525 3.2531464,35.09652 7.7417982,37.899128 C 12.001173,40.558581 14.043096,28.138937 14.043096,28.138937" + style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#c7d9ec;stroke-width:1.00000012px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" /> + <path + style="fill:url(#linearGradient2630);fill-opacity:1;fill-rule:evenodd;stroke:#3465a4;stroke-width:1.00000048px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 24.292455,17.301321 C 16.935857,17.428878 -2.1890432,43.377295 23.394922,43.377293 C 28.775671,43.377293 32.295389,42.22196 34.344814,40.402607 C 34.359882,40.38923 34.389733,40.416057 34.404649,40.402607 C 35.545703,40.890781 38.571551,39.598037 39.909512,38.693744 C 45.082133,35.19771 36.500579,26.909532 31.532546,22.301325 C 31.401541,22.179808 26.294466,17.48873 24.531797,17.364612 C 24.447957,17.358794 24.379687,17.299808 24.292455,17.301321 z " + id="path5023" + sodipodi:nodetypes="cssssssc" /> + <path + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:url(#linearGradient7027);stroke-width:1.00000083px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 23.624857,42.414249 C -0.59814104,42.64502 18.255106,18.509032 24.039065,18.512059 C 26.410046,18.588582 38.20781,29.175081 40.119099,34.372181 C 41.916319,37.111847 36.635193,40.539824 34.716977,38.456356 C 33.320614,40.39141 29.993406,42.401612 23.624857,42.414249 z " + id="path5900" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:#000000;fill-opacity:0.12987013;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 30.401802,32.658992 C 30.401802,32.658992 29.835279,40.428683 33.786549,40.24678 C 36.824985,40.104721 30.583172,32.660882 30.401802,32.658992 z " + id="path5265" + sodipodi:nodetypes="csc" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:url(#radialGradient4386);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.48917751" + id="path3505" + sodipodi:cx="11.403918" + sodipodi:cy="11.820429" + sodipodi:rx="3.9179103" + sodipodi:ry="1.7140858" + d="M 15.321829,11.820429 A 3.9179103,1.7140858 0 1 1 15.321809,11.814959" + sodipodi:start="0" + sodipodi:end="6.2799944" + sodipodi:open="true" + transform="matrix(2.166658,0,0,3.055838,-1.154206,-14.5643)" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:url(#radialGradient14658);fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:0.34177133;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path2396" + sodipodi:cx="26.385618" + sodipodi:cy="4.5758967" + sodipodi:rx="3.595403" + sodipodi:ry="3.595403" + d="M 29.981021,4.5758967 A 3.595403,3.595403 0 1 1 29.981003,4.5644242" + sodipodi:start="0" + sodipodi:end="6.2799944" + sodipodi:open="true" + transform="matrix(2.924455,0,0,2.927415,-53.17815,-0.370312)" /> + <path + transform="matrix(2.645712,0,0,2.622481,-45.82115,0.928673)" + sodipodi:open="true" + sodipodi:end="6.2799944" + sodipodi:start="0" + d="M 29.981021,4.5758967 A 3.595403,3.595403 0 1 1 29.981003,4.5644242" + sodipodi:ry="3.595403" + sodipodi:rx="3.595403" + sodipodi:cy="4.5758967" + sodipodi:cx="26.385618" + id="path2398" + style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7019);stroke-width:0.37964022;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + <path + sodipodi:nodetypes="cc" + id="path14660" + d="M 34.763497,38.506802 C 32.960413,37.064271 31.152443,33.19781 31.176374,32.550651" + style="fill:none;fill-opacity:0.92941176;fill-rule:evenodd;stroke:#c7d9ec;stroke-width:1.00000036px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" /> + <path + style="fill:none;fill-opacity:0.92941176;fill-rule:evenodd;stroke:#3465a4;stroke-width:1.00000036px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" + d="M 36.615639,40.197689 C 31.377707,39.46 30.570319,32.555681 30.570319,32.555681" + id="path10279" + sodipodi:nodetypes="cc" /> +</svg> diff --git a/trunk/data/scalable/empathy.svg b/trunk/data/scalable/empathy.svg new file mode 100755 index 000000000..875c0ef0a --- /dev/null +++ b/trunk/data/scalable/empathy.svg @@ -0,0 +1,261 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="120" + height="120" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.43" + sodipodi:docbase="/home/kikidonk" + sodipodi:docname="telepathy.svg" + version="1.0"> + <defs + id="defs4"> + <linearGradient + inkscape:collect="always" + id="linearGradient2299"> + <stop + style="stop-color:#729fcf" + offset="0" + id="stop2301" /> + <stop + style="stop-color:#204a87" + offset="1" + id="stop2303" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2277"> + <stop + style="stop-color:#729fcf" + offset="0" + id="stop2279" /> + <stop + style="stop-color:#204a87" + offset="1" + id="stop2281" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2248"> + <stop + style="stop-color:#729fcf" + offset="0" + id="stop2250" /> + <stop + style="stop-color:#204a87" + offset="1" + id="stop2252" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2316"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop2318" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop2320" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2316" + id="radialGradient1455" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.446154,-9.531266e-14,218.1391)" + cx="37.5" + cy="393.86218" + fx="37.5" + fy="393.86218" + r="32.5" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2316" + id="radialGradient1457" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.446154,3.441346e-14,218.1391)" + cx="37.5" + cy="393.86218" + fx="37.5" + fy="393.86218" + r="32.5" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2248" + id="radialGradient1459" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.868658,-0.148746,0.168018,2.110777,-257.031,-963.2931)" + cx="152.6485" + cy="532.39001" + fx="152.6485" + fy="532.39001" + r="29.863501" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2248" + id="radialGradient1461" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.550415,-4.746643e-6,6.036308e-6,1.971663,-152.6655,-900.8159)" + cx="209.66589" + cy="518.98993" + fx="209.66589" + fy="518.98993" + r="21.839567" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2277" + id="linearGradient1463" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-35,-392)" + x1="156.27637" + y1="519.47235" + x2="168.11945" + y2="588.41528" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2299" + id="linearGradient1465" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-35,-392)" + x1="210.31523" + y1="513.20483" + x2="218.00374" + y2="561.11133" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1" + inkscape:cx="391.86649" + inkscape:cy="58.28661" + inkscape:document-units="px" + inkscape:current-layer="layer1" + fill="#edd400" + stroke="#edd400" + inkscape:window-width="1014" + inkscape:window-height="693" + inkscape:window-x="0" + inkscape:window-y="25" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <g + id="g1350" + transform="translate(-86.71068,-84.05382)"> + <path + sodipodi:type="arc" + style="opacity:0.34302326;fill:url(#radialGradient1455);fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2324" + sodipodi:cx="37.5" + sodipodi:cy="393.86218" + sodipodi:rx="32.5" + sodipodi:ry="14.5" + d="M 70 393.86218 A 32.5 14.5 0 1 1 5,393.86218 A 32.5 14.5 0 1 1 70 393.86218 z" + transform="matrix(0.553846,0,0,0.769231,155.2308,-139.4549)" /> + <path + transform="matrix(0.753846,0,0,1,103.2308,-206)" + d="M 70 393.86218 A 32.5 14.5 0 1 1 5,393.86218 A 32.5 14.5 0 1 1 70 393.86218 z" + sodipodi:ry="14.5" + sodipodi:rx="32.5" + sodipodi:cy="393.86218" + sodipodi:cx="37.5" + id="path2314" + style="opacity:0.34883722;fill:url(#radialGradient1457);fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + sodipodi:type="arc" /> + <path + sodipodi:type="arc" + style="fill:#babdb6;stroke:none;stroke-width:3.83500004;stroke-miterlimit:4;stroke-dasharray:none" + id="path2284" + sodipodi:cx="466.5" + sodipodi:cy="225.86218" + sodipodi:rx="13.5" + sodipodi:ry="13.5" + d="M 480 225.86218 A 13.5 13.5 0 1 1 453,225.86218 A 13.5 13.5 0 1 1 480 225.86218 z" + transform="matrix(0.239488,0,0,0.239488,6.4093,56.699)" /> + <path + style="fill:url(#radialGradient1459);fill-opacity:1;stroke:#204a87;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 150.2161,142.69583 C 144.93306,149.11959 157.74053,160.99323 155.32886,164.76875 C 151.71258,170.43013 145.72673,166.37911 146.5107,170.91369 C 147.10639,174.35931 146.90129,177.59442 143.94504,179.55357 C 146.05169,185.93861 138.60199,192.13547 135.06149,192.88614 C 120.89943,195.8888 101.90698,167.7371 98.90432,153.57504 C 95.90165,139.41298 104.95855,125.4822 119.1206,122.47955 C 133.28265,119.47688 147.21343,128.53378 150.2161,142.69583 z " + id="path2286" + sodipodi:nodetypes="csscsssc" /> + <path + sodipodi:nodetypes="csscsssc" + id="path2288" + d="M 161.93542,131.68159 C 165.74994,136.31974 156.62403,144.65072 158.36534,147.37677 C 160.97641,151.46447 165.17688,148.78167 164.61083,152.05578 C 164.18072,154.54363 164.32882,156.87948 166.46332,158.29405 C 164.94226,162.90425 170.26698,167.13724 172.82334,167.67925 C 183.04881,169.84727 196.81615,149.76218 198.98416,139.53672 C 201.15218,129.31126 194.61282,119.25279 184.38736,117.08478 C 174.16191,114.91676 164.10344,121.45613 161.93542,131.68159 z " + style="fill:url(#radialGradient1461);fill-opacity:1;stroke:#204a87;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + transform="matrix(0.448469,0,0,0.448469,-80.909,-3.4852)" + d="M 480 225.86218 A 13.5 13.5 0 1 1 453,225.86218 A 13.5 13.5 0 1 1 480 225.86218 z" + sodipodi:ry="13.5" + sodipodi:rx="13.5" + sodipodi:cy="225.86218" + sodipodi:cx="466.5" + id="path2290" + style="fill:#babdb6;stroke:none;stroke-width:3.83500004;stroke-miterlimit:4;stroke-dasharray:none" + sodipodi:type="arc" /> + <path + sodipodi:type="arc" + style="fill:#babdb6;stroke:none;stroke-width:3.83500004;stroke-miterlimit:4;stroke-dasharray:none" + id="path2292" + sodipodi:cx="466.5" + sodipodi:cy="225.86218" + sodipodi:rx="13.5" + sodipodi:ry="13.5" + d="M 480 225.86218 A 13.5 13.5 0 1 1 453,225.86218 A 13.5 13.5 0 1 1 480 225.86218 z" + transform="matrix(0.376714,0,0,0.376714,-29.9988,8.3624)" /> + <path + transform="matrix(0.269082,0,0,0.269082,35.2264,38.422)" + d="M 480 225.86218 A 13.5 13.5 0 1 1 453,225.86218 A 13.5 13.5 0 1 1 480 225.86218 z" + sodipodi:ry="13.5" + sodipodi:rx="13.5" + sodipodi:cy="225.86218" + sodipodi:cx="466.5" + id="path2294" + style="fill:#babdb6;stroke:none;stroke-width:3.83500004;stroke-miterlimit:4;stroke-dasharray:none" + sodipodi:type="arc" /> + <path + sodipodi:type="arc" + style="fill:#babdb6;stroke:none;stroke-width:3.83500004;stroke-miterlimit:4;stroke-dasharray:none" + id="path2296" + sodipodi:cx="466.5" + sodipodi:cy="225.86218" + sodipodi:rx="13.5" + sodipodi:ry="13.5" + d="M 480 225.86218 A 13.5 13.5 0 1 1 453,225.86218 A 13.5 13.5 0 1 1 480 225.86218 z" + transform="matrix(0.197327,0,0,0.197327,75.481,66.2218)" /> + <path + id="path2268" + d="M 123.28125,123.9375 C 108.01533,124.16246 96.09738,141.26171 101.5625,155.78125 C 106.70498,169.34648 115.09976,183.17694 128.25,190.0625 C 135.00162,194.17566 144.81961,185.96654 141.5625,178.71875 C 146.27103,177.08945 143.82074,171.72239 144.9375,168.21875 C 146.8342,165.06946 153.71771,167.38783 153.46875,162.65625 C 150.74411,156.2047 144.57132,149.09618 147.96875,141.84375 C 145.2653,131.11182 134.46054,123.15696 123.28125,123.9375 z " + style="opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1463);stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + id="path2291" + d="M 179.75,118.6875 C 172.45096,118.90303 164.83544,124.65883 164.375,131.90625 C 166.6736,137.32257 160.94739,141.95547 160.375,146.71875 C 162.45612,148.7109 167.71064,148.079 166.59375,152.46875 C 165.32221,155.0163 168.12471,156.86409 168.52359,158.40373 C 166.89871,163.94225 174.72741,168.088 178.96875,164.46875 C 188.37541,158.20668 195.59314,147.55282 197.375,136.46875 C 198.06704,126.67227 189.35755,118.04285 179.75,118.6875 z " + style="fill:none;fill-opacity:1;stroke:url(#linearGradient1465);stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + </g> + </g> +</svg> diff --git a/trunk/libempathy-gtk/Makefile.am b/trunk/libempathy-gtk/Makefile.am new file mode 100644 index 000000000..183f7d8e2 --- /dev/null +++ b/trunk/libempathy-gtk/Makefile.am @@ -0,0 +1,68 @@ +AM_CPPFLAGS = \ + -I. \ + -I$(top_srcdir) \ + $(EMPATHY_CFLAGS) \ + $(WARN_CFLAGS) + +noinst_LTLIBRARIES = libempathy-gtk.la + +libempathy_gtk_la_SOURCES = \ + ephy-spinner.c ephy-spinner.h \ + empathy-images.h \ + empathy-main-window.c empathy-main-window.h \ + empathy-status-icon.c empathy-status-icon.h \ + gossip-accounts-dialog.c gossip-accounts-dialog.h \ + gossip-account-widget-generic.c gossip-account-widget-generic.h \ + gossip-account-widget-jabber.c gossip-account-widget-jabber.h \ + gossip-profile-chooser.c gossip-profile-chooser.h \ + gossip-cell-renderer-expander.c gossip-cell-renderer-expander.h \ + gossip-cell-renderer-text.c gossip-cell-renderer-text.h \ + gossip-spell.c gossip-spell.h \ + gossip-contact-groups.c gossip-contact-groups.h \ + gossip-contact-list-store.c gossip-contact-list-store.h \ + gossip-contact-list-view.c gossip-contact-list-view.h \ + gossip-preferences.c gossip-preferences.h \ + gossip-theme-manager.c gossip-theme-manager.h \ + gossip-chat-window.c gossip-chat-window.h \ + gossip-chat.c gossip-chat.h \ + gossip-chat-view.c gossip-chat-view.h \ + gossip-private-chat.c gossip-private-chat.h \ + gossip-group-chat.c gossip-group-chat.h \ + gossip-geometry.c gossip-geometry.h \ + gossip-status-presets.c gossip-status-presets.h \ + gossip-presence-chooser.c gossip-presence-chooser.h \ + gossip-about-dialog.c gossip-about-dialog.h \ + gossip-account-chooser.c gossip-account-chooser.h \ + gossip-new-chatroom-dialog.c gossip-new-chatroom-dialog.h \ + gossip-chatrooms-window.c gossip-chatrooms-window.h \ + gossip-ui-utils.c gossip-ui-utils.h + +libempathy_gtk_la_LIBADD = \ + $(EMPATHY_LIBS) \ + $(top_builddir)/libempathy/libempathy.la + +libempathy_gtk_includedir = $(includedir)/empathy/ + +gladedir = $(datadir)/empathy +glade_DATA = \ + empathy-main-window.glade \ + empathy-status-icon.glade \ + gossip-preferences.glade \ + gossip-presence-chooser.glade \ + gossip-accounts-dialog.glade \ + gossip-account-widget-jabber.glade \ + gossip-new-chatroom-dialog.glade \ + gossip-group-chat.glade \ + gossip-chatrooms-window.glade \ + gossip-chat.glade + +dtddir = $(datadir)/empathy +dtd_DATA = \ + gossip-status-presets.dtd \ + gossip-contact-groups.dtd + + +EXTRA_DIST = \ + $(glade_DATA) \ + $(dtd_DATA) + diff --git a/trunk/libempathy-gtk/empathy-images.h b/trunk/libempathy-gtk/empathy-images.h new file mode 100644 index 000000000..5fb4e7173 --- /dev/null +++ b/trunk/libempathy-gtk/empathy-images.h @@ -0,0 +1,43 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __EMPATHY_IMAGES_H__ +#define __EMPATHY_IMAGES_H__ + +G_BEGIN_DECLS + +#define EMPATHY_IMAGE_OFFLINE "empathy-offline" +#define EMPATHY_IMAGE_AVAILABLE "empathy-available" +#define EMPATHY_IMAGE_BUSY "empathy-busy" +#define EMPATHY_IMAGE_AWAY "empathy-away" +#define EMPATHY_IMAGE_EXT_AWAY "empathy-extended-away" +#define EMPATHY_IMAGE_PENDING "empathy-pending" + +#define EMPATHY_IMAGE_MESSAGE "empathy-message" +#define EMPATHY_IMAGE_NEW_MESSAGE "empathy-new-message" +#define EMPATHY_IMAGE_TYPING "empathy-typing" +#define EMPATHY_IMAGE_CONTACT_INFORMATION "empathy-contact-information" +#define EMPATHY_IMAGE_GROUP_MESSAGE "empathy-group-message" + +G_END_DECLS + +#endif /* __EMPATHY_IMAGES_ICONS_H__ */ diff --git a/trunk/libempathy-gtk/empathy-main-window.c b/trunk/libempathy-gtk/empathy-main-window.c new file mode 100644 index 000000000..1ae227410 --- /dev/null +++ b/trunk/libempathy-gtk/empathy-main-window.c @@ -0,0 +1,919 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <sys/stat.h> +#include <gtk/gtk.h> +#include <glade/glade.h> +#include <glib/gi18n.h> + +#include <libempathy/gossip-conf.h> +#include <libempathy/gossip-contact.h> +#include <libempathy/gossip-debug.h> +#include <libempathy/gossip-utils.h> +#include <libempathy/gossip-chatroom-manager.h> +#include <libempathy/gossip-chatroom.h> +#include <libempathy/empathy-contact-list.h> +#include <libempathy/empathy-contact-manager.h> + +#include "empathy-main-window.h" +#include "ephy-spinner.h" +#include "gossip-contact-list-store.h" +#include "gossip-contact-list-view.h" +#include "gossip-presence-chooser.h" +#include "gossip-ui-utils.h" +#include "gossip-status-presets.h" +#include "gossip-geometry.h" +#include "gossip-preferences.h" +#include "gossip-accounts-dialog.h" +#include "gossip-about-dialog.h" +#include "gossip-new-chatroom-dialog.h" +#include "gossip-chatrooms-window.h" + +#define DEBUG_DOMAIN "MainWindow" + +/* Minimum width of roster window if something goes wrong. */ +#define MIN_WIDTH 50 + +/* Accels (menu shortcuts) can be configured and saved */ +#define ACCELS_FILENAME "accels.txt" + +/* Name in the geometry file */ +#define GEOMETRY_NAME "main-window" + +typedef struct { + GossipContactListView *list_view; + GossipContactListStore *list_store; + MissionControl *mc; + GossipChatroomManager *chatroom_manager; + + /* Main widgets */ + GtkWidget *window; + GtkWidget *main_vbox; + + /* Tooltips for all widgets */ + GtkTooltips *tooltips; + + /* Menu widgets */ + GtkWidget *room; + GtkWidget *room_menu; + GtkWidget *room_sep; + GtkWidget *room_join_favorites; + GtkWidget *edit_context; + GtkWidget *edit_context_separator; + + /* Throbber */ + GtkWidget *throbber; + + /* Widgets that are enabled when there is... */ + GList *widgets_connected; /* ... connected accounts */ + GList *widgets_disconnected; /* ... disconnected accounts */ + + /* Status popup */ + GtkWidget *presence_toolbar; + GtkWidget *presence_chooser; + + /* Misc */ + guint size_timeout_id; +} EmpathyMainWindow; + +static void main_window_destroy_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static void main_window_favorite_chatroom_menu_setup (EmpathyMainWindow *window); +static void main_window_favorite_chatroom_menu_added_cb (GossipChatroomManager *manager, + GossipChatroom *chatroom, + EmpathyMainWindow *window); +static void main_window_favorite_chatroom_menu_removed_cb (GossipChatroomManager *manager, + GossipChatroom *chatroom, + EmpathyMainWindow *window); +static void main_window_favorite_chatroom_menu_activate_cb (GtkMenuItem *menu_item, + GossipChatroom *chatroom); +static void main_window_favorite_chatroom_menu_update (EmpathyMainWindow *window); +static void main_window_favorite_chatroom_menu_add (EmpathyMainWindow *window, + GossipChatroom *chatroom); +static void main_window_favorite_chatroom_join (GossipChatroom *chatroom); +static void main_window_chat_quit_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static void main_window_chat_new_message_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static void main_window_chat_history_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static void main_window_room_join_new_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static void main_window_room_join_favorites_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static void main_window_room_manage_favorites_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static void main_window_chat_add_contact_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static void main_window_chat_show_offline_cb (GtkCheckMenuItem *item, + EmpathyMainWindow *window); +static gboolean main_window_edit_button_press_event_cb (GtkWidget *widget, + GdkEventButton *event, + EmpathyMainWindow *window); +static void main_window_edit_accounts_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static void main_window_edit_personal_information_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static void main_window_edit_preferences_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static void main_window_help_about_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static void main_window_help_contents_cb (GtkWidget *widget, + EmpathyMainWindow *window); +static gboolean main_window_throbber_button_press_event_cb (GtkWidget *throbber_ebox, + GdkEventButton *event, + EmpathyMainWindow *window); +static void main_window_status_changed_cb (MissionControl *mc, + TelepathyConnectionStatus status, + McPresence presence, + TelepathyConnectionStatusReason reason, + const gchar *unique_name, + EmpathyMainWindow *window); +static void main_window_update_status (EmpathyMainWindow *window); +static void main_window_accels_load (void); +static void main_window_accels_save (void); +static void main_window_connection_items_setup (EmpathyMainWindow *window, + GladeXML *glade); +static gboolean main_window_configure_event_timeout_cb (EmpathyMainWindow *window); +static gboolean main_window_configure_event_cb (GtkWidget *widget, + GdkEventConfigure *event, + EmpathyMainWindow *window); +static void main_window_notify_show_offline_cb (GossipConf *conf, + const gchar *key, + gpointer check_menu_item); +static void main_window_notify_show_avatars_cb (GossipConf *conf, + const gchar *key, + EmpathyMainWindow *window); +static void main_window_notify_compact_contact_list_cb (GossipConf *conf, + const gchar *key, + EmpathyMainWindow *window); +static void main_window_notify_sort_criterium_cb (GossipConf *conf, + const gchar *key, + EmpathyMainWindow *window); + +GtkWidget * +empathy_main_window_show (void) +{ + static EmpathyMainWindow *window = NULL; + EmpathyContactList *list_iface; + GladeXML *glade; + GossipConf *conf; + GtkWidget *sw; + GtkWidget *show_offline_widget; + GtkWidget *ebox; + GtkToolItem *item; + gchar *str; + gboolean show_offline; + gboolean show_avatars; + gboolean compact_contact_list; + gint x, y, w, h; + + if (window) { + gtk_window_present (GTK_WINDOW (window->window)); + return window->window; + } + + window = g_new0 (EmpathyMainWindow, 1); + + /* Set up interface */ + glade = gossip_glade_get_file ("empathy-main-window.glade", + "main_window", + NULL, + "main_window", &window->window, + "main_vbox", &window->main_vbox, + "chat_show_offline", &show_offline_widget, + "room", &window->room, + "room_sep", &window->room_sep, + "room_join_favorites", &window->room_join_favorites, + "edit_context", &window->edit_context, + "edit_context_separator", &window->edit_context_separator, + "presence_toolbar", &window->presence_toolbar, + "roster_scrolledwindow", &sw, + NULL); + + gossip_glade_connect (glade, + window, + "main_window", "destroy", main_window_destroy_cb, + "main_window", "configure_event", main_window_configure_event_cb, + "chat_quit", "activate", main_window_chat_quit_cb, + "chat_new_message", "activate", main_window_chat_new_message_cb, + "chat_history", "activate", main_window_chat_history_cb, + "room_join_new", "activate", main_window_room_join_new_cb, + "room_join_favorites", "activate", main_window_room_join_favorites_cb, + "room_manage_favorites", "activate", main_window_room_manage_favorites_cb, + "chat_add_contact", "activate", main_window_chat_add_contact_cb, + "chat_show_offline", "toggled", main_window_chat_show_offline_cb, + "edit", "button-press-event", main_window_edit_button_press_event_cb, + "edit_accounts", "activate", main_window_edit_accounts_cb, + "edit_personal_information", "activate", main_window_edit_personal_information_cb, + "edit_preferences", "activate", main_window_edit_preferences_cb, + "help_about", "activate", main_window_help_about_cb, + "help_contents", "activate", main_window_help_contents_cb, + NULL); + + /* Set up connection related widgets. */ + main_window_connection_items_setup (window, glade); + g_object_unref (glade); + + window->tooltips = g_object_ref_sink (gtk_tooltips_new ()); + window->mc = gossip_mission_control_new (); + dbus_g_proxy_connect_signal (DBUS_G_PROXY (window->mc), "AccountStatusChanged", + G_CALLBACK (main_window_status_changed_cb), + window, NULL); + + /* Set up menu */ + main_window_favorite_chatroom_menu_setup (window); + + gtk_widget_hide (window->edit_context); + gtk_widget_hide (window->edit_context_separator); + + /* Set up presence chooser */ + window->presence_chooser = gossip_presence_chooser_new (); + gtk_widget_show (window->presence_chooser); + item = gtk_tool_item_new (); + gtk_widget_show (GTK_WIDGET (item)); + gtk_container_add (GTK_CONTAINER (item), window->presence_chooser); + gtk_tool_item_set_is_important (item, TRUE); + gtk_tool_item_set_expand (item, TRUE); + gtk_toolbar_insert (GTK_TOOLBAR (window->presence_toolbar), item, -1); + + /* Set up the throbber */ + ebox = gtk_event_box_new (); + gtk_event_box_set_visible_window (GTK_EVENT_BOX (ebox), FALSE); + + window->throbber = ephy_spinner_new (); + ephy_spinner_set_size (EPHY_SPINNER (window->throbber), GTK_ICON_SIZE_LARGE_TOOLBAR); + gtk_container_add (GTK_CONTAINER (ebox), window->throbber); + + item = gtk_tool_item_new (); + gtk_container_add (GTK_CONTAINER (item), ebox); + gtk_widget_show_all (GTK_WIDGET (item)); + + gtk_toolbar_insert (GTK_TOOLBAR (window->presence_toolbar), item, -1); + + str = _("Show and edit accounts"); + gtk_tooltips_set_tip (GTK_TOOLTIPS (window->tooltips), + ebox, str, str); + + g_signal_connect (ebox, + "button-press-event", + G_CALLBACK (main_window_throbber_button_press_event_cb), + window); + + /* Set up contact list. */ + gossip_status_presets_get_all (); + + list_iface = EMPATHY_CONTACT_LIST (empathy_contact_manager_new ()); + empathy_contact_list_setup (list_iface); + window->list_store = gossip_contact_list_store_new (list_iface); + window->list_view = gossip_contact_list_view_new (window->list_store); + g_object_unref (list_iface); + + gtk_widget_show (GTK_WIDGET (window->list_view)); + gtk_container_add (GTK_CONTAINER (sw), + GTK_WIDGET (window->list_view)); + + /* Load user-defined accelerators. */ + main_window_accels_load (); + + /* Set window size. */ + gossip_geometry_load (GEOMETRY_NAME, &x, &y, &w, &h); + + if (w >= 1 && h >= 1) { + /* Use the defaults from the glade file if we + * don't have good w, h geometry. + */ + gossip_debug (DEBUG_DOMAIN, "Configuring window default size w:%d, h:%d", w, h); + gtk_window_set_default_size (GTK_WINDOW (window->window), w, h); + } + + if (x >= 0 && y >= 0) { + /* Let the window manager position it if we + * don't have good x, y coordinates. + */ + gossip_debug (DEBUG_DOMAIN, "Configuring window default position x:%d, y:%d", x, y); + gtk_window_move (GTK_WINDOW (window->window), x, y); + } + + conf = gossip_conf_get (); + + /* Show offline ? */ + gossip_conf_get_bool (conf, + GOSSIP_PREFS_CONTACTS_SHOW_OFFLINE, + &show_offline); + gossip_conf_notify_add (conf, + GOSSIP_PREFS_CONTACTS_SHOW_OFFLINE, + main_window_notify_show_offline_cb, + show_offline_widget); + + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (show_offline_widget), + show_offline); + + /* Show avatars ? */ + gossip_conf_get_bool (conf, + GOSSIP_PREFS_UI_SHOW_AVATARS, + &show_avatars); + gossip_conf_notify_add (conf, + GOSSIP_PREFS_UI_SHOW_AVATARS, + (GossipConfNotifyFunc) main_window_notify_show_avatars_cb, + window); + gossip_contact_list_store_set_show_avatars (window->list_store, show_avatars); + + /* Is compact ? */ + gossip_conf_get_bool (conf, + GOSSIP_PREFS_UI_COMPACT_CONTACT_LIST, + &compact_contact_list); + gossip_conf_notify_add (conf, + GOSSIP_PREFS_UI_COMPACT_CONTACT_LIST, + (GossipConfNotifyFunc) main_window_notify_compact_contact_list_cb, + window); + gossip_contact_list_store_set_is_compact (window->list_store, compact_contact_list); + + /* Sort criterium */ + gossip_conf_notify_add (conf, + GOSSIP_PREFS_CONTACTS_SORT_CRITERIUM, + (GossipConfNotifyFunc) main_window_notify_sort_criterium_cb, + window); + main_window_notify_sort_criterium_cb (conf, + GOSSIP_PREFS_CONTACTS_SORT_CRITERIUM, + window); + + main_window_update_status (window); + + return window->window; +} + +static void +main_window_destroy_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + /* Save user-defined accelerators. */ + main_window_accels_save (); + + dbus_g_proxy_disconnect_signal (DBUS_G_PROXY (window->mc), "AccountStatusChanged", + G_CALLBACK (main_window_status_changed_cb), + window); + + if (window->size_timeout_id) { + g_source_remove (window->size_timeout_id); + } + + g_list_free (window->widgets_connected); + g_list_free (window->widgets_disconnected); + + g_object_unref (window->tooltips); + g_object_unref (window->mc); + g_object_unref (window->list_store); + + g_free (window); +} + +static void +main_window_favorite_chatroom_menu_setup (EmpathyMainWindow *window) +{ + GList *chatrooms, *l; + + window->chatroom_manager = gossip_chatroom_manager_new (); + chatrooms = gossip_chatroom_manager_get_chatrooms (window->chatroom_manager, NULL); + window->room_menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (window->room)); + + for (l = chatrooms; l; l = l->next) { + main_window_favorite_chatroom_menu_add (window, l->data); + } + + if (!chatrooms) { + gtk_widget_hide (window->room_sep); + } + + gtk_widget_set_sensitive (window->room_join_favorites, chatrooms != NULL); + + g_signal_connect (window->chatroom_manager, "chatroom-added", + G_CALLBACK (main_window_favorite_chatroom_menu_added_cb), + window); + g_signal_connect (window->chatroom_manager, "chatroom-removed", + G_CALLBACK (main_window_favorite_chatroom_menu_removed_cb), + window); + + g_list_free (chatrooms); +} + +static void +main_window_favorite_chatroom_menu_added_cb (GossipChatroomManager *manager, + GossipChatroom *chatroom, + EmpathyMainWindow *window) +{ + main_window_favorite_chatroom_menu_add (window, chatroom); + gtk_widget_show (window->room_sep); + gtk_widget_set_sensitive (window->room_join_favorites, TRUE); +} + +static void +main_window_favorite_chatroom_menu_removed_cb (GossipChatroomManager *manager, + GossipChatroom *chatroom, + EmpathyMainWindow *window) +{ + GtkWidget *menu_item; + + menu_item = g_object_get_data (G_OBJECT (chatroom), "menu_item"); + + g_object_set_data (G_OBJECT (chatroom), "menu_item", NULL); + gtk_widget_destroy (menu_item); + + main_window_favorite_chatroom_menu_update (window); +} + +static void +main_window_favorite_chatroom_menu_activate_cb (GtkMenuItem *menu_item, + GossipChatroom *chatroom) +{ + main_window_favorite_chatroom_join (chatroom); +} + +static void +main_window_favorite_chatroom_menu_update (EmpathyMainWindow *window) +{ + GList *chatrooms; + + chatrooms = gossip_chatroom_manager_get_chatrooms (window->chatroom_manager, NULL); + + if (chatrooms) { + gtk_widget_show (window->room_sep); + } else { + gtk_widget_hide (window->room_sep); + } + + gtk_widget_set_sensitive (window->room_join_favorites, chatrooms != NULL); + g_list_free (chatrooms); +} + +static void +main_window_favorite_chatroom_menu_add (EmpathyMainWindow *window, + GossipChatroom *chatroom) +{ + GtkWidget *menu_item; + const gchar *name; + + if (g_object_get_data (G_OBJECT (chatroom), "menu_item")) { + return; + } + + name = gossip_chatroom_get_name (chatroom); + menu_item = gtk_menu_item_new_with_label (name); + + g_object_set_data (G_OBJECT (chatroom), "menu_item", menu_item); + g_signal_connect (menu_item, "activate", + G_CALLBACK (main_window_favorite_chatroom_menu_activate_cb), + chatroom); + + gtk_menu_shell_insert (GTK_MENU_SHELL (window->room_menu), + menu_item, 3); + + gtk_widget_show (menu_item); +} + +static void +main_window_favorite_chatroom_join (GossipChatroom *chatroom) +{ + MissionControl *mc; + McAccount *account; + const gchar *room; + + mc = gossip_mission_control_new (); + account = gossip_chatroom_get_account (chatroom); + room = gossip_chatroom_get_room (chatroom); + + gossip_debug (DEBUG_DOMAIN, "Requesting channel for '%s'", room); + + mission_control_request_channel_with_string_handle (mc, + account, + TP_IFACE_CHANNEL_TYPE_TEXT, + room, + TP_HANDLE_TYPE_ROOM, + NULL, NULL); + g_object_unref (mc); +} + +static void +main_window_chat_quit_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + gtk_main_quit (); +} + +static void +main_window_chat_new_message_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + //gossip_new_message_dialog_show (GTK_WINDOW (window->window)); +} + +static void +main_window_chat_history_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + //gossip_log_window_show (NULL, NULL); +} + +static void +main_window_room_join_new_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + gossip_new_chatroom_dialog_show (GTK_WINDOW (window->window)); +} + +static void +main_window_room_join_favorites_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + GList *chatrooms, *l; + + chatrooms = gossip_chatroom_manager_get_chatrooms (window->chatroom_manager, NULL); + for (l = chatrooms; l; l = l->next) { + main_window_favorite_chatroom_join (l->data); + } + g_list_free (chatrooms); +} + +static void +main_window_room_manage_favorites_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + gossip_chatrooms_window_show (GTK_WINDOW (window->window)); +} + +static void +main_window_chat_add_contact_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + //gossip_add_contact_dialog_show (GTK_WINDOW (window->window), NULL); +} + +static void +main_window_chat_show_offline_cb (GtkCheckMenuItem *item, + EmpathyMainWindow *window) +{ + gboolean current; + + current = gtk_check_menu_item_get_active (item); + + gossip_conf_set_bool (gossip_conf_get (), + GOSSIP_PREFS_CONTACTS_SHOW_OFFLINE, + current); + + /* Turn off sound just while we alter the contact list. */ + // FIXME: gossip_sound_set_enabled (FALSE); + gossip_contact_list_store_set_show_offline (window->list_store, current); + //gossip_sound_set_enabled (TRUE); +} + +static gboolean +main_window_edit_button_press_event_cb (GtkWidget *widget, + GdkEventButton *event, + EmpathyMainWindow *window) +{ + GossipContact *contact; + gchar *group; + + if (!event->button == 1) { + return FALSE; + } + + group = gossip_contact_list_view_get_selected_group (window->list_view); + if (group) { + GtkMenuItem *item; + GtkWidget *label; + GtkWidget *submenu; + + item = GTK_MENU_ITEM (window->edit_context); + label = gtk_bin_get_child (GTK_BIN (item)); + gtk_label_set_text (GTK_LABEL (label), _("Group")); + + gtk_widget_show (window->edit_context); + gtk_widget_show (window->edit_context_separator); + + submenu = gossip_contact_list_view_get_group_menu (window->list_view); + gtk_menu_item_set_submenu (item, submenu); + + g_free (group); + + return FALSE; + } + + contact = gossip_contact_list_view_get_selected (window->list_view); + if (contact) { + GtkMenuItem *item; + GtkWidget *label; + GtkWidget *submenu; + + item = GTK_MENU_ITEM (window->edit_context); + label = gtk_bin_get_child (GTK_BIN (item)); + gtk_label_set_text (GTK_LABEL (label), _("Contact")); + + gtk_widget_show (window->edit_context); + gtk_widget_show (window->edit_context_separator); + + submenu = gossip_contact_list_view_get_contact_menu (window->list_view, + contact); + gtk_menu_item_set_submenu (item, submenu); + + g_object_unref (contact); + + return FALSE; + } + + gtk_widget_hide (window->edit_context); + gtk_widget_hide (window->edit_context_separator); + + return FALSE; +} + +static void +main_window_edit_accounts_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + gossip_accounts_dialog_show (GTK_WINDOW (window->window)); +} + +static void +main_window_edit_personal_information_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + //gossip_vcard_dialog_show (GTK_WINDOW (window->window)); +} + +static void +main_window_edit_preferences_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + gossip_preferences_show (GTK_WINDOW (window->window)); +} + +static void +main_window_help_about_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + gossip_about_dialog_new (GTK_WINDOW (window->window)); +} + +static void +main_window_help_contents_cb (GtkWidget *widget, + EmpathyMainWindow *window) +{ + //gossip_help_show (); +} + +static gboolean +main_window_throbber_button_press_event_cb (GtkWidget *throbber_ebox, + GdkEventButton *event, + EmpathyMainWindow *window) +{ + if (event->type != GDK_BUTTON_PRESS || + event->button != 1) { + return FALSE; + } + + gossip_accounts_dialog_show (GTK_WINDOW (window->window)); + + return FALSE; +} + +static void +main_window_status_changed_cb (MissionControl *mc, + TelepathyConnectionStatus status, + McPresence presence, + TelepathyConnectionStatusReason reason, + const gchar *unique_name, + EmpathyMainWindow *window) +{ + main_window_update_status (window); +} + +static void +main_window_update_status (EmpathyMainWindow *window) +{ + GList *accounts, *l; + guint connected = 0; + guint connecting = 0; + guint disconnected = 0; + + /* Count number of connected/connecting/disconnected accounts */ + accounts = mc_accounts_list (); + for (l = accounts; l; l = l->next) { + McAccount *account; + guint status; + + account = l->data; + + status = mission_control_get_connection_status (window->mc, + account, + NULL); + + if (status == 0) { + connected++; + } else if (status == 1) { + connecting++; + } else if (status == 2) { + disconnected++; + } + + g_object_unref (account); + } + g_list_free (accounts); + + /* Update the spinner state */ + if (connecting > 0) { + ephy_spinner_start (EPHY_SPINNER (window->throbber)); + } else { + ephy_spinner_stop (EPHY_SPINNER (window->throbber)); + } + + /* Update widgets sensibility */ + for (l = window->widgets_connected; l; l = l->next) { + gtk_widget_set_sensitive (l->data, (connected > 0)); + } + + for (l = window->widgets_disconnected; l; l = l->next) { + gtk_widget_set_sensitive (l->data, (disconnected > 0)); + } +} + +/* + * Accels + */ +static void +main_window_accels_load (void) +{ + gchar *filename; + + filename = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, ACCELS_FILENAME, NULL); + if (g_file_test (filename, G_FILE_TEST_EXISTS)) { + gossip_debug (DEBUG_DOMAIN, "Loading from:'%s'", filename); + gtk_accel_map_load (filename); + } + + g_free (filename); +} + +static void +main_window_accels_save (void) +{ + gchar *dir; + gchar *file_with_path; + + dir = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, NULL); + g_mkdir_with_parents (dir, S_IRUSR | S_IWUSR | S_IXUSR); + file_with_path = g_build_filename (dir, ACCELS_FILENAME, NULL); + g_free (dir); + + gossip_debug (DEBUG_DOMAIN, "Saving to:'%s'", file_with_path); + gtk_accel_map_save (file_with_path); + + g_free (file_with_path); +} + +static void +main_window_connection_items_setup (EmpathyMainWindow *window, + GladeXML *glade) +{ + GList *list; + GtkWidget *w; + gint i; + const gchar *widgets_connected[] = { + "room", + "chat_new_message", + "chat_add_contact", + "edit_personal_information" + }; + const gchar *widgets_disconnected[] = { + }; + + for (i = 0, list = NULL; i < G_N_ELEMENTS (widgets_connected); i++) { + w = glade_xml_get_widget (glade, widgets_connected[i]); + list = g_list_prepend (list, w); + } + + window->widgets_connected = list; + + for (i = 0, list = NULL; i < G_N_ELEMENTS (widgets_disconnected); i++) { + w = glade_xml_get_widget (glade, widgets_disconnected[i]); + list = g_list_prepend (list, w); + } + + window->widgets_disconnected = list; +} + +static gboolean +main_window_configure_event_timeout_cb (EmpathyMainWindow *window) +{ + gint x, y, w, h; + + gtk_window_get_size (GTK_WINDOW (window->window), &w, &h); + gtk_window_get_position (GTK_WINDOW (window->window), &x, &y); + + gossip_geometry_save (GEOMETRY_NAME, x, y, w, h); + + window->size_timeout_id = 0; + + return FALSE; +} + +static gboolean +main_window_configure_event_cb (GtkWidget *widget, + GdkEventConfigure *event, + EmpathyMainWindow *window) +{ + if (window->size_timeout_id) { + g_source_remove (window->size_timeout_id); + } + + window->size_timeout_id = g_timeout_add (500, + (GSourceFunc) main_window_configure_event_timeout_cb, + window); + + return FALSE; +} + +static void +main_window_notify_show_offline_cb (GossipConf *conf, + const gchar *key, + gpointer check_menu_item) +{ + gboolean show_offline; + + if (gossip_conf_get_bool (conf, key, &show_offline)) { + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (check_menu_item), + show_offline); + } +} + +static void +main_window_notify_show_avatars_cb (GossipConf *conf, + const gchar *key, + EmpathyMainWindow *window) +{ + gboolean show_avatars; + + if (gossip_conf_get_bool (conf, key, &show_avatars)) { + gossip_contact_list_store_set_show_avatars (window->list_store, + show_avatars); + } +} + +static void +main_window_notify_compact_contact_list_cb (GossipConf *conf, + const gchar *key, + EmpathyMainWindow *window) +{ + gboolean compact_contact_list; + + if (gossip_conf_get_bool (conf, key, &compact_contact_list)) { + gossip_contact_list_store_set_is_compact (window->list_store, + compact_contact_list); + } +} + +static void +main_window_notify_sort_criterium_cb (GossipConf *conf, + const gchar *key, + EmpathyMainWindow *window) +{ + gchar *str = NULL; + + if (gossip_conf_get_string (conf, key, &str)) { + GType type; + GEnumClass *enum_class; + GEnumValue *enum_value; + + type = gossip_contact_list_store_sort_get_type (); + enum_class = G_ENUM_CLASS (g_type_class_peek (type)); + enum_value = g_enum_get_value_by_nick (enum_class, str); + g_free (str); + + if (enum_value) { + gossip_contact_list_store_set_sort_criterium (window->list_store, + enum_value->value); + } + } +} + diff --git a/trunk/libempathy-gtk/empathy-main-window.glade b/trunk/libempathy-gtk/empathy-main-window.glade new file mode 100644 index 000000000..41e5d61ae --- /dev/null +++ b/trunk/libempathy-gtk/empathy-main-window.glade @@ -0,0 +1,427 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkWindow" id="main_window"> + <property name="title" translatable="yes">Contact List - Empathy</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">225</property> + <property name="default_height">325</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="GtkVBox" id="main_vbox"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkMenuBar" id="menubar2"> + <property name="visible">True</property> + <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property> + <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property> + + <child> + <widget class="GtkMenuItem" id="chat"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Chat</property> + <property name="use_underline">True</property> + + <child> + <widget class="GtkMenu" id="chat_menu"> + + <child> + <widget class="GtkImageMenuItem" id="chat_new_message"> + <property name="visible">True</property> + <property name="label" translatable="yes">_New Message...</property> + <property name="use_underline">True</property> + <accelerator key="N" modifiers="GDK_CONTROL_MASK" signal="activate"/> + + <child internal-child="image"> + <widget class="GtkImage" id="image885"> + <property name="visible">True</property> + <property name="icon_size">1</property> + <property name="icon_name">empathy-new-message</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="chat_history"> + <property name="visible">True</property> + <property name="label" translatable="yes">_View Previous Conversations</property> + <property name="use_underline">True</property> + <accelerator key="F3" modifiers="0" signal="activate"/> + + <child internal-child="image"> + <widget class="GtkImage" id="image886"> + <property name="visible">True</property> + <property name="stock">gtk-justify-left</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="separator5"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="chat_add_contact"> + <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="image887"> + <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> + + <child> + <widget class="GtkSeparatorMenuItem" id="separator3"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkCheckMenuItem" id="chat_show_offline"> + <property name="visible">True</property> + <property name="label" translatable="yes">Show _Offline Contacts</property> + <property name="use_underline">True</property> + <property name="active">False</property> + <accelerator key="H" modifiers="GDK_CONTROL_MASK" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="separator6"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="chat_quit"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Quit</property> + <property name="use_underline">True</property> + <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/> + + <child internal-child="image"> + <widget class="GtkImage" id="image888"> + <property name="visible">True</property> + <property name="stock">gtk-quit</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> + + <child> + <widget class="GtkMenuItem" id="room"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Room</property> + <property name="use_underline">True</property> + + <child> + <widget class="GtkMenu" id="room_menu"> + + <child> + <widget class="GtkImageMenuItem" id="room_join_new"> + <property name="visible">True</property> + <property name="label" translatable="yes">Join _New...</property> + <property name="use_underline">True</property> + + <child internal-child="image"> + <widget class="GtkImage" id="image889"> + <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="room_join_favorites"> + <property name="visible">True</property> + <property name="label" translatable="yes">Join _Favorites</property> + <property name="use_underline">True</property> + <accelerator key="F5" modifiers="0" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="room_sep"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="room_sep2"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="room_manage_favorites"> + <property name="visible">True</property> + <property name="label" translatable="yes">Manage Favorites...</property> + <property name="use_underline">True</property> + + <child internal-child="image"> + <widget class="GtkImage" id="image890"> + <property name="visible">True</property> + <property name="icon_size">1</property> + <property name="icon_name">empathy-group-message</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> + + <child> + <widget class="GtkMenuItem" id="edit"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Edit</property> + <property name="use_underline">True</property> + + <child> + <widget class="GtkMenu" id="edit_menu"> + + <child> + <widget class="GtkMenuItem" id="edit_context"> + <property name="visible">True</property> + <property name="label" translatable="yes">Context</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="edit_context_separator"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="edit_accounts"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Accounts</property> + <property name="use_underline">True</property> + <accelerator key="F4" modifiers="0" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="edit_personal_information"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Personal Information</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="separator2"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="edit_preferences"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Preferences</property> + <property name="use_underline">True</property> + + <child internal-child="image"> + <widget class="GtkImage" id="image891"> + <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> + </child> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="help"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Help</property> + <property name="use_underline">True</property> + + <child> + <widget class="GtkMenu" id="help_menu"> + + <child> + <widget class="GtkImageMenuItem" id="help_contents"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Contents</property> + <property name="use_underline">True</property> + <accelerator key="F1" modifiers="0" signal="activate"/> + + <child internal-child="image"> + <widget class="GtkImage" id="image892"> + <property name="visible">True</property> + <property name="stock">gtk-help</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="help_about"> + <property name="visible">True</property> + <property name="label" translatable="yes">_About</property> + <property name="use_underline">True</property> + + <child internal-child="image"> + <widget class="GtkImage" id="image893"> + <property name="visible">True</property> + <property name="stock">gtk-about</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> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkToolbar" id="presence_toolbar"> + <property name="visible">True</property> + <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property> + <property name="toolbar_style">GTK_TOOLBAR_BOTH</property> + <property name="tooltips">True</property> + <property name="show_arrow">True</property> + + <child> + <placeholder/> + </child> + + <child> + <placeholder/> + </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="errors_vbox"> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <placeholder/> + </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="roster_scrolledwindow"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="has_focus">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> + <placeholder/> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + </child> +</widget> + +</glade-interface> diff --git a/trunk/libempathy-gtk/empathy-main-window.h b/trunk/libempathy-gtk/empathy-main-window.h new file mode 100644 index 000000000..eca78da1e --- /dev/null +++ b/trunk/libempathy-gtk/empathy-main-window.h @@ -0,0 +1,34 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __EMPATHY_MAIN_WINDOW_H__ +#define __EMPATHY_MAIN_WINDOW_H__ + +#include <gtk/gtkwidget.h> + +G_BEGIN_DECLS + +GtkWidget *empathy_main_window_show (void); + +G_END_DECLS + +#endif /* __EMPATHY_MAIN_WINDOW_H__ */ diff --git a/trunk/libempathy-gtk/empathy-status-icon.c b/trunk/libempathy-gtk/empathy-status-icon.c new file mode 100644 index 000000000..01a542493 --- /dev/null +++ b/trunk/libempathy-gtk/empathy-status-icon.c @@ -0,0 +1,345 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <string.h> + +#include <gtk/gtk.h> +#include <glade/glade.h> + +#include <libmissioncontrol/mission-control.h> + +#include <libempathy/gossip-debug.h> +#include <libempathy/gossip-utils.h> +#include <libempathy/gossip-conf.h> +#include <libempathy/empathy-idle.h> + +#include "empathy-status-icon.h" +#include "gossip-presence-chooser.h" +#include "gossip-preferences.h" +#include "gossip-ui-utils.h" +#include "gossip-accounts-dialog.h" + + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \ + EMPATHY_TYPE_STATUS_ICON, EmpathyStatusIconPriv)) + +#define DEBUG_DOMAIN "StatusIcon" + +struct _EmpathyStatusIconPriv { + MissionControl *mc; + GtkStatusIcon *icon; + EmpathyIdle *idle; + + GtkWindow *window; + + GtkWidget *popup_menu; + GtkWidget *show_window_item; + GtkWidget *message_item; + GtkWidget *status_item; +}; + +static void empathy_status_icon_class_init (EmpathyStatusIconClass *klass); +static void empathy_status_icon_init (EmpathyStatusIcon *icon); +static void status_icon_finalize (GObject *object); +static void status_icon_presence_changed_cb (MissionControl *mc, + McPresence state, + EmpathyStatusIcon *icon); +static void status_icon_toggle_visibility (EmpathyStatusIcon *icon); +static void status_icon_activate_cb (GtkStatusIcon *status_icon, + EmpathyStatusIcon *icon); +static gboolean status_icon_delete_event_cb (GtkWidget *widget, + GdkEvent *event, + EmpathyStatusIcon *icon); +static void status_icon_popup_menu_cb (GtkStatusIcon *status_icon, + guint button, + guint activate_time, + EmpathyStatusIcon *icon); +static void status_icon_create_menu (EmpathyStatusIcon *icon); +static void status_icon_new_message_cb (GtkWidget *widget, + EmpathyStatusIcon *icon); +static void status_icon_quit_cb (GtkWidget *window, + EmpathyStatusIcon *icon); +static void status_icon_show_hide_window_cb (GtkWidget *widget, + EmpathyStatusIcon *icon); + +G_DEFINE_TYPE (EmpathyStatusIcon, empathy_status_icon, G_TYPE_OBJECT); + +static void +empathy_status_icon_class_init (EmpathyStatusIconClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = status_icon_finalize; + + g_type_class_add_private (object_class, sizeof (EmpathyStatusIconPriv)); +} + +static void +empathy_status_icon_init (EmpathyStatusIcon *icon) +{ + EmpathyStatusIconPriv *priv; + McPresence state; + + priv = GET_PRIV (icon); + + priv->icon = gtk_status_icon_new (); + priv->mc = gossip_mission_control_new (); + priv->idle = empathy_idle_new (); + + status_icon_create_menu (icon); + + state = mission_control_get_presence_actual (priv->mc, NULL); + status_icon_presence_changed_cb (priv->mc, state, icon); + + dbus_g_proxy_connect_signal (DBUS_G_PROXY (priv->mc), + "PresenceStatusActual", + G_CALLBACK (status_icon_presence_changed_cb), + icon, NULL); + g_signal_connect (priv->icon, "activate", + G_CALLBACK (status_icon_activate_cb), + icon); + g_signal_connect (priv->icon, "popup-menu", + G_CALLBACK (status_icon_popup_menu_cb), + icon); +} + +static void +status_icon_finalize (GObject *object) +{ + EmpathyStatusIconPriv *priv; + + priv = GET_PRIV (object); + + dbus_g_proxy_disconnect_signal (DBUS_G_PROXY (priv->mc), + "PresenceStatusActual", + G_CALLBACK (status_icon_presence_changed_cb), + object); + + g_object_unref (priv->mc); + g_object_unref (priv->icon); + g_object_unref (priv->window); + g_object_unref (priv->idle); +} + +EmpathyStatusIcon * +empathy_status_icon_new (GtkWindow *window) +{ + EmpathyStatusIconPriv *priv; + EmpathyStatusIcon *icon; + gboolean should_hide; + gboolean visible; + + g_return_val_if_fail (GTK_IS_WINDOW (window), NULL); + + icon = g_object_new (EMPATHY_TYPE_STATUS_ICON, NULL); + priv = GET_PRIV (icon); + + priv->window = g_object_ref (window); + + g_signal_connect (priv->window, "delete-event", + G_CALLBACK (status_icon_delete_event_cb), + icon); + + gossip_conf_get_bool (gossip_conf_get (), + GOSSIP_PREFS_UI_MAIN_WINDOW_HIDDEN, + &should_hide); + visible = gossip_window_get_is_visible (window); + + if ((!should_hide && !visible) || (should_hide && visible)) { + status_icon_toggle_visibility (icon); + } + + return icon; +} + +static void +status_icon_presence_changed_cb (MissionControl *mc, + McPresence state, + EmpathyStatusIcon *icon) +{ + EmpathyStatusIconPriv *priv; + const gchar *icon_name; + gchar *status; + + priv = GET_PRIV (icon); + + icon_name = gossip_icon_name_for_presence_state (state); + status = mission_control_get_presence_message_actual (priv->mc, NULL); + if (G_STR_EMPTY (status)) { + g_free (status); + status = g_strdup (gossip_presence_state_get_default_status (state)); + } + + gtk_status_icon_set_from_icon_name (priv->icon, icon_name); + gtk_status_icon_set_tooltip (priv->icon, status); + + g_free (status); + + if (state < MC_PRESENCE_AVAILABLE) { + gtk_widget_set_sensitive (priv->message_item, FALSE); + } else { + gtk_widget_set_sensitive (priv->message_item, TRUE); + } +} + +static void +status_icon_toggle_visibility (EmpathyStatusIcon *icon) +{ + EmpathyStatusIconPriv *priv; + gboolean visible; + + priv = GET_PRIV (icon); + + visible = gossip_window_get_is_visible (GTK_WINDOW (priv->window)); + + if (visible) { + gtk_widget_hide (GTK_WIDGET (priv->window)); + gossip_conf_set_bool (gossip_conf_get (), + GOSSIP_PREFS_UI_MAIN_WINDOW_HIDDEN, TRUE); + } else { + GList *accounts; + + gossip_window_present (GTK_WINDOW (priv->window), TRUE); + gossip_conf_set_bool (gossip_conf_get (), + GOSSIP_PREFS_UI_MAIN_WINDOW_HIDDEN, FALSE); + + /* Show the accounts dialog if there is no enabled accounts */ + accounts = mc_accounts_list_by_enabled (TRUE); + if (accounts) { + mc_accounts_list_free (accounts); + } else { + gossip_debug (DEBUG_DOMAIN, + "No enabled account, Showing account dialog"); + gossip_accounts_dialog_show (GTK_WINDOW (priv->window)); + } + } +} + +static void +status_icon_activate_cb (GtkStatusIcon *status_icon, + EmpathyStatusIcon *icon) +{ + status_icon_toggle_visibility (icon); +} + +static gboolean +status_icon_delete_event_cb (GtkWidget *widget, + GdkEvent *event, + EmpathyStatusIcon *icon) +{ + status_icon_toggle_visibility (icon); + + return TRUE; +} + +static void +status_icon_popup_menu_cb (GtkStatusIcon *status_icon, + guint button, + guint activate_time, + EmpathyStatusIcon *icon) +{ + EmpathyStatusIconPriv *priv; + GtkWidget *submenu; + gboolean show; + + priv = GET_PRIV (icon); + + show = gossip_window_get_is_visible (GTK_WINDOW (priv->window)); + + g_signal_handlers_block_by_func (priv->show_window_item, + status_icon_show_hide_window_cb, + icon); + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (priv->show_window_item), + show); + g_signal_handlers_unblock_by_func (priv->show_window_item, + status_icon_show_hide_window_cb, + icon); + + submenu = gossip_presence_chooser_create_menu (); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (priv->status_item), + submenu); + + gtk_menu_popup (GTK_MENU (priv->popup_menu), + NULL, NULL, + gtk_status_icon_position_menu, + priv->icon, + button, + activate_time); +} + +static void +status_icon_create_menu (EmpathyStatusIcon *icon) +{ + EmpathyStatusIconPriv *priv; + GladeXML *glade; + + priv = GET_PRIV (icon); + + glade = gossip_glade_get_file ("empathy-status-icon.glade", + "tray_menu", + NULL, + "tray_menu", &priv->popup_menu, + "tray_show_list", &priv->show_window_item, + "tray_new_message", &priv->message_item, + "tray_status", &priv->status_item, + NULL); + + gossip_glade_connect (glade, + icon, + "tray_new_message", "activate", status_icon_new_message_cb, + "tray_quit", "activate", status_icon_quit_cb, + NULL); + + g_signal_connect (priv->show_window_item, "toggled", + G_CALLBACK (status_icon_show_hide_window_cb), + icon); + + g_object_unref (glade); +} + +static void +status_icon_new_message_cb (GtkWidget *widget, + EmpathyStatusIcon *icon) +{ + EmpathyStatusIconPriv *priv; + + priv = GET_PRIV (icon); + + //gossip_new_message_dialog_show (GTK_WINDOW (priv->window)); +} + +static void +status_icon_quit_cb (GtkWidget *window, + EmpathyStatusIcon *icon) +{ + gtk_main_quit (); +} + +static void +status_icon_show_hide_window_cb (GtkWidget *widget, + EmpathyStatusIcon *icon) +{ + status_icon_toggle_visibility (icon); +} + diff --git a/trunk/libempathy-gtk/empathy-status-icon.glade b/trunk/libempathy-gtk/empathy-status-icon.glade new file mode 100644 index 000000000..d76a5dfda --- /dev/null +++ b/trunk/libempathy-gtk/empathy-status-icon.glade @@ -0,0 +1,78 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkMenu" id="tray_menu"> + + <child> + <widget class="GtkCheckMenuItem" id="tray_show_list"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Show Contact List</property> + <property name="use_underline">True</property> + <property name="active">False</property> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="avskiljare5"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="tray_new_message"> + <property name="visible">True</property> + <property name="label" translatable="yes">_New Message...</property> + <property name="use_underline">True</property> + + <child internal-child="image"> + <widget class="GtkImage" id="image599"> + <property name="visible">True</property> + <property name="icon_size">1</property> + <property name="icon_name">empathy-new-message</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="tray_status"> + <property name="visible">True</property> + <property name="label" translatable="yes">Status</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="avskiljare6"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="tray_quit"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Quit</property> + <property name="use_underline">True</property> + + <child internal-child="image"> + <widget class="GtkImage" id="image600"> + <property name="visible">True</property> + <property name="stock">gtk-quit</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> + +</glade-interface> diff --git a/trunk/libempathy-gtk/empathy-status-icon.h b/trunk/libempathy-gtk/empathy-status-icon.h new file mode 100644 index 000000000..6cfa8899f --- /dev/null +++ b/trunk/libempathy-gtk/empathy-status-icon.h @@ -0,0 +1,54 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __EMPATHY_STATUS_ICON_H__ +#define __EMPATHY_STATUS_ICON_H__ + +#include <glib.h> + +G_BEGIN_DECLS + +#define EMPATHY_TYPE_STATUS_ICON (empathy_status_icon_get_type ()) +#define EMPATHY_STATUS_ICON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_STATUS_ICON, EmpathyStatusIcon)) +#define EMPATHY_STATUS_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EMPATHY_TYPE_STATUS_ICON, EmpathyStatusIconClass)) +#define EMPATHY_IS_STATUS_ICON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_STATUS_ICON)) +#define EMPATHY_IS_STATUS_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_STATUS_ICON)) +#define EMPATHY_STATUS_ICON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_STATUS_ICON, EmpathyStatusIconClass)) + +typedef struct _EmpathyStatusIcon EmpathyStatusIcon; +typedef struct _EmpathyStatusIconClass EmpathyStatusIconClass; +typedef struct _EmpathyStatusIconPriv EmpathyStatusIconPriv; + +struct _EmpathyStatusIcon { + GObject parent; +}; + +struct _EmpathyStatusIconClass { + GObjectClass parent_class; +}; + +GType empathy_status_icon_get_type (void) G_GNUC_CONST; +EmpathyStatusIcon *empathy_status_icon_new (GtkWindow *window); + +G_END_DECLS + +#endif /* __EMPATHY_STATUS_ICON_H__ */ diff --git a/trunk/libempathy-gtk/ephy-spinner.c b/trunk/libempathy-gtk/ephy-spinner.c new file mode 100644 index 000000000..a8f371df3 --- /dev/null +++ b/trunk/libempathy-gtk/ephy-spinner.c @@ -0,0 +1,977 @@ +/* + * Copyright © 2000 Eazel, Inc. + * Copyright © 2002-2004 Marco Pesenti Gritti + * Copyright © 2004, 2006 Christian Persch + * + * Nautilus 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. + * + * Nautilus 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 + * + * Author: Andy Hertzfeld <andy@eazel.com> + * + * Ephy port by Marco Pesenti Gritti <marco@it.gnome.org> + * + * $Id: ephy-spinner.c 2114 2006-12-25 12:15:00Z mr $ + */ + +#include "config.h" + +#include "ephy-spinner.h" + +/* #include "ephy-debug.h" */ +#define LOG(msg, args...) +#define START_PROFILER(name) +#define STOP_PROFILER(name) + +#include <gdk-pixbuf/gdk-pixbuf.h> +#include <gtk/gtkicontheme.h> +#include <gtk/gtkiconfactory.h> +#include <gtk/gtksettings.h> + +/* Spinner cache implementation */ + +#define EPHY_TYPE_SPINNER_CACHE (ephy_spinner_cache_get_type()) +#define EPHY_SPINNER_CACHE(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EPHY_TYPE_SPINNER_CACHE, EphySpinnerCache)) +#define EPHY_SPINNER_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EPHY_TYPE_SPINNER_CACHE, EphySpinnerCacheClass)) +#define EPHY_IS_SPINNER_CACHE(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EPHY_TYPE_SPINNER_CACHE)) +#define EPHY_IS_SPINNER_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EPHY_TYPE_SPINNER_CACHE)) +#define EPHY_SPINNER_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_SPINNER_CACHE, EphySpinnerCacheClass)) + +typedef struct _EphySpinnerCache EphySpinnerCache; +typedef struct _EphySpinnerCacheClass EphySpinnerCacheClass; +typedef struct _EphySpinnerCachePrivate EphySpinnerCachePrivate; + +struct _EphySpinnerCacheClass +{ + GObjectClass parent_class; +}; + +struct _EphySpinnerCache +{ + GObject parent_object; + + /*< private >*/ + EphySpinnerCachePrivate *priv; +}; + +#define EPHY_SPINNER_CACHE_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_SPINNER_CACHE, EphySpinnerCachePrivate)) + +struct _EphySpinnerCachePrivate +{ + /* Hash table of GdkScreen -> EphySpinnerCacheData */ + GHashTable *hash; +}; + +typedef struct +{ + guint ref_count; + GtkIconSize size; + int width; + int height; + GdkPixbuf **animation_pixbufs; + guint n_animation_pixbufs; +} EphySpinnerImages; + +#define LAST_ICON_SIZE GTK_ICON_SIZE_DIALOG + 1 +#define SPINNER_ICON_NAME "process-working" +#define SPINNER_FALLBACK_ICON_NAME "gnome-spinner" +#define EPHY_SPINNER_IMAGES_INVALID ((EphySpinnerImages *) 0x1) + +typedef struct +{ + GdkScreen *screen; + GtkIconTheme *icon_theme; + EphySpinnerImages *images[LAST_ICON_SIZE]; +} EphySpinnerCacheData; + +static void ephy_spinner_cache_class_init (EphySpinnerCacheClass *klass); +static void ephy_spinner_cache_init (EphySpinnerCache *cache); + +static GObjectClass *ephy_spinner_cache_parent_class; + +static GType +ephy_spinner_cache_get_type (void) +{ + static GType type = 0; + + if (G_UNLIKELY (type == 0)) + { + const GTypeInfo our_info = + { + sizeof (EphySpinnerCacheClass), + NULL, + NULL, + (GClassInitFunc) ephy_spinner_cache_class_init, + NULL, + NULL, + sizeof (EphySpinnerCache), + 0, + (GInstanceInitFunc) ephy_spinner_cache_init + }; + + type = g_type_register_static (G_TYPE_OBJECT, + "EphySpinnerCache", + &our_info, 0); + } + + return type; +} + +static EphySpinnerImages * +ephy_spinner_images_ref (EphySpinnerImages *images) +{ + g_return_val_if_fail (images != NULL, NULL); + + images->ref_count++; + + return images; +} + +static void +ephy_spinner_images_unref (EphySpinnerImages *images) +{ + g_return_if_fail (images != NULL); + + images->ref_count--; + if (images->ref_count == 0) + { + guint i; + + LOG ("Freeing spinner images %p for size %d", images, images->size); + + for (i = 0; i < images->n_animation_pixbufs; ++i) + { + g_object_unref (images->animation_pixbufs[i]); + } + g_free (images->animation_pixbufs); + + g_free (images); + } +} + +static void +ephy_spinner_cache_data_unload (EphySpinnerCacheData *data) +{ + GtkIconSize size; + EphySpinnerImages *images; + + g_return_if_fail (data != NULL); + + LOG ("EphySpinnerDataCache unload for screen %p", data->screen); + + for (size = GTK_ICON_SIZE_INVALID; size < LAST_ICON_SIZE; ++size) + { + images = data->images[size]; + data->images[size] = NULL; + + if (images != NULL && images != EPHY_SPINNER_IMAGES_INVALID) + { + ephy_spinner_images_unref (images); + } + } +} + +static GdkPixbuf * +extract_frame (GdkPixbuf *grid_pixbuf, + int x, + int y, + int size) +{ + GdkPixbuf *pixbuf; + + if (x + size > gdk_pixbuf_get_width (grid_pixbuf) || + y + size > gdk_pixbuf_get_height (grid_pixbuf)) + { + return NULL; + } + + pixbuf = gdk_pixbuf_new_subpixbuf (grid_pixbuf, + x, y, + size, size); + g_return_val_if_fail (pixbuf != NULL, NULL); + + return pixbuf; +} + +static GdkPixbuf * +scale_to_size (GdkPixbuf *pixbuf, + int dw, + int dh) +{ + GdkPixbuf *result; + int pw, ph; + + g_return_val_if_fail (pixbuf != NULL, NULL); + + pw = gdk_pixbuf_get_width (pixbuf); + ph = gdk_pixbuf_get_height (pixbuf); + + if (pw != dw || ph != dh) + { + result = gdk_pixbuf_scale_simple (pixbuf, dw, dh, + GDK_INTERP_BILINEAR); + g_object_unref (pixbuf); + return result; + } + + return pixbuf; +} + +static EphySpinnerImages * +ephy_spinner_images_load (GdkScreen *screen, + GtkIconTheme *icon_theme, + GtkIconSize icon_size) +{ + EphySpinnerImages *images; + GdkPixbuf *icon_pixbuf, *pixbuf; + GtkIconInfo *icon_info = NULL; + int grid_width, grid_height, x, y, requested_size, size, isw, ish, n; + const char *icon; + GSList *list = NULL, *l; + + LOG ("EphySpinnerCacheData loading for screen %p at size %d", screen, icon_size); + + START_PROFILER ("loading spinner animation") + + if (!gtk_icon_size_lookup_for_settings (gtk_settings_get_for_screen (screen), + icon_size, &isw, &ish)) goto loser; + + requested_size = MAX (ish, isw); + + /* Load the animation. The 'rest icon' is the 0th frame */ + icon_info = gtk_icon_theme_lookup_icon (icon_theme, + SPINNER_ICON_NAME, + requested_size, 0); + if (icon_info == NULL) + { + g_warning ("Throbber animation not found"); + + /* If the icon naming spec compliant name wasn't found, try the old name */ + icon_info = gtk_icon_theme_lookup_icon (icon_theme, + SPINNER_FALLBACK_ICON_NAME, + requested_size, 0); + if (icon_info == NULL) + { + g_warning ("Throbber fallback animation not found either"); + goto loser; + } + } + g_assert (icon_info != NULL); + + size = gtk_icon_info_get_base_size (icon_info); + icon = gtk_icon_info_get_filename (icon_info); + if (icon == NULL) goto loser; + + icon_pixbuf = gdk_pixbuf_new_from_file (icon, NULL); + gtk_icon_info_free (icon_info); + icon_info = NULL; + + if (icon_pixbuf == NULL) + { + g_warning ("Could not load the spinner file"); + goto loser; + } + + grid_width = gdk_pixbuf_get_width (icon_pixbuf); + grid_height = gdk_pixbuf_get_height (icon_pixbuf); + + n = 0; + for (y = 0; y < grid_height; y += size) + { + for (x = 0; x < grid_width ; x += size) + { + pixbuf = extract_frame (icon_pixbuf, x, y, size); + + if (pixbuf) + { + list = g_slist_prepend (list, pixbuf); + ++n; + } + else + { + g_warning ("Cannot extract frame (%d, %d) from the grid\n", x, y); + } + } + } + + g_object_unref (icon_pixbuf); + + if (list == NULL) goto loser; + g_assert (n > 0); + + if (size > requested_size) + { + for (l = list; l != NULL; l = l->next) + { + l->data = scale_to_size (l->data, isw, ish); + } + } + + /* Now we've successfully got all the data */ + images = g_new (EphySpinnerImages, 1); + images->ref_count = 1; + + images->size = icon_size; + images->width = images->height = requested_size; + + images->n_animation_pixbufs = n; + images->animation_pixbufs = g_new (GdkPixbuf *, n); + + for (l = list; l != NULL; l = l->next) + { + g_assert (l->data != NULL); + images->animation_pixbufs[--n] = l->data; + } + g_assert (n == 0); + + g_slist_free (list); + + STOP_PROFILER ("loading spinner animation") + + return images; + +loser: + if (icon_info) + { + gtk_icon_info_free (icon_info); + } + g_slist_foreach (list, (GFunc) g_object_unref, NULL); + + STOP_PROFILER ("loading spinner animation") + + return NULL; +} + +static EphySpinnerCacheData * +ephy_spinner_cache_data_new (GdkScreen *screen) +{ + EphySpinnerCacheData *data; + + data = g_new0 (EphySpinnerCacheData, 1); + + data->screen = screen; + data->icon_theme = gtk_icon_theme_get_for_screen (screen); + g_signal_connect_swapped (data->icon_theme, "changed", + G_CALLBACK (ephy_spinner_cache_data_unload), + data); + + return data; +} + +static void +ephy_spinner_cache_data_free (EphySpinnerCacheData *data) +{ + g_return_if_fail (data != NULL); + g_return_if_fail (data->icon_theme != NULL); + + g_signal_handlers_disconnect_by_func + (data->icon_theme, + G_CALLBACK (ephy_spinner_cache_data_unload), data); + + ephy_spinner_cache_data_unload (data); + + g_free (data); +} + +static EphySpinnerImages * +ephy_spinner_cache_get_images (EphySpinnerCache *cache, + GdkScreen *screen, + GtkIconSize icon_size) +{ + EphySpinnerCachePrivate *priv = cache->priv; + EphySpinnerCacheData *data; + EphySpinnerImages *images; + + LOG ("Getting animation images for screen %p at size %d", screen, icon_size); + + g_return_val_if_fail (icon_size >= 0 && icon_size < LAST_ICON_SIZE, NULL); + + /* Backward compat: "invalid" meant "native" size which doesn't exist anymore */ + if (icon_size == GTK_ICON_SIZE_INVALID) + { + icon_size = GTK_ICON_SIZE_DIALOG; + } + + data = g_hash_table_lookup (priv->hash, screen); + if (data == NULL) + { + data = ephy_spinner_cache_data_new (screen); + /* FIXME: think about what happens when the screen's display is closed later on */ + g_hash_table_insert (priv->hash, screen, data); + } + + images = data->images[icon_size]; + if (images == EPHY_SPINNER_IMAGES_INVALID) + { + /* Load failed, but don't try endlessly again! */ + return NULL; + } + + if (images != NULL) + { + /* Return cached data */ + return ephy_spinner_images_ref (images); + } + + images = ephy_spinner_images_load (screen, data->icon_theme, icon_size); + + if (images == NULL) + { + /* Mark as failed-to-load */ + data->images[icon_size] = EPHY_SPINNER_IMAGES_INVALID; + + return NULL; + } + + data->images[icon_size] = images; + + return ephy_spinner_images_ref (images); +} + +static void +ephy_spinner_cache_init (EphySpinnerCache *cache) +{ + EphySpinnerCachePrivate *priv; + + priv = cache->priv = EPHY_SPINNER_CACHE_GET_PRIVATE (cache); + + LOG ("EphySpinnerCache initialising"); + + priv->hash = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, + (GDestroyNotify) ephy_spinner_cache_data_free); +} + +static void +ephy_spinner_cache_finalize (GObject *object) +{ + EphySpinnerCache *cache = EPHY_SPINNER_CACHE (object); + EphySpinnerCachePrivate *priv = cache->priv; + + g_hash_table_destroy (priv->hash); + + LOG ("EphySpinnerCache finalised"); + + G_OBJECT_CLASS (ephy_spinner_cache_parent_class)->finalize (object); +} + +static void +ephy_spinner_cache_class_init (EphySpinnerCacheClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + ephy_spinner_cache_parent_class = g_type_class_peek_parent (klass); + + object_class->finalize = ephy_spinner_cache_finalize; + + g_type_class_add_private (object_class, sizeof (EphySpinnerCachePrivate)); +} + +static EphySpinnerCache *spinner_cache = NULL; + +static EphySpinnerCache * +ephy_spinner_cache_ref (void) +{ + if (spinner_cache == NULL) + { + EphySpinnerCache **cache_ptr; + + spinner_cache = g_object_new (EPHY_TYPE_SPINNER_CACHE, NULL); + cache_ptr = &spinner_cache; + g_object_add_weak_pointer (G_OBJECT (spinner_cache), + (gpointer *) cache_ptr); + + return spinner_cache; + } + + return g_object_ref (spinner_cache); +} + +/* Spinner implementation */ + +#define SPINNER_TIMEOUT 125 /* ms */ + +#define EPHY_SPINNER_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_SPINNER, EphySpinnerDetails)) + +struct _EphySpinnerDetails +{ + GtkIconTheme *icon_theme; + EphySpinnerCache *cache; + GtkIconSize size; + EphySpinnerImages *images; + guint current_image; + guint timeout; + guint timer_task; + guint spinning : 1; + guint need_load : 1; +}; + +static void ephy_spinner_class_init (EphySpinnerClass *class); +static void ephy_spinner_init (EphySpinner *spinner); + +static GObjectClass *parent_class; + +GType +ephy_spinner_get_type (void) +{ + static GType type = 0; + + if (G_UNLIKELY (type == 0)) + { + const GTypeInfo our_info = + { + sizeof (EphySpinnerClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) ephy_spinner_class_init, + NULL, + NULL, /* class_data */ + sizeof (EphySpinner), + 0, /* n_preallocs */ + (GInstanceInitFunc) ephy_spinner_init + }; + + type = g_type_register_static (GTK_TYPE_WIDGET, + "EphySpinner", + &our_info, 0); + } + + return type; +} + +static gboolean +ephy_spinner_load_images (EphySpinner *spinner) +{ + EphySpinnerDetails *details = spinner->details; + + if (details->need_load) + { + START_PROFILER ("ephy_spinner_load_images") + + details->images = + ephy_spinner_cache_get_images + (details->cache, + gtk_widget_get_screen (GTK_WIDGET (spinner)), + details->size); + + STOP_PROFILER ("ephy_spinner_load_images") + + details->current_image = 0; /* 'rest' icon */ + details->need_load = FALSE; + } + + return details->images != NULL; +} + +static void +ephy_spinner_unload_images (EphySpinner *spinner) +{ + EphySpinnerDetails *details = spinner->details; + + if (details->images != NULL) + { + ephy_spinner_images_unref (details->images); + details->images = NULL; + } + + details->current_image = 0; + details->need_load = TRUE; +} + +static void +icon_theme_changed_cb (GtkIconTheme *icon_theme, + EphySpinner *spinner) +{ + ephy_spinner_unload_images (spinner); + gtk_widget_queue_resize (GTK_WIDGET (spinner)); +} + +static void +ephy_spinner_init (EphySpinner *spinner) +{ + EphySpinnerDetails *details; + + details = spinner->details = EPHY_SPINNER_GET_PRIVATE (spinner); + + GTK_WIDGET_SET_FLAGS (GTK_WIDGET (spinner), GTK_NO_WINDOW); + + details->cache = ephy_spinner_cache_ref (); + details->size = GTK_ICON_SIZE_DIALOG; + details->spinning = FALSE; + details->timeout = SPINNER_TIMEOUT; + details->need_load = TRUE; +} + +static int +ephy_spinner_expose (GtkWidget *widget, + GdkEventExpose *event) +{ + EphySpinner *spinner = EPHY_SPINNER (widget); + EphySpinnerDetails *details = spinner->details; + EphySpinnerImages *images; + GdkPixbuf *pixbuf; + GdkGC *gc; + int x_offset, y_offset, width, height; + GdkRectangle pix_area, dest; + + if (!GTK_WIDGET_DRAWABLE (spinner)) + { + return FALSE; + } + + if (details->need_load && + !ephy_spinner_load_images (spinner)) + { + return FALSE; + } + + images = details->images; + if (images == NULL) + { + return FALSE; + } + + /* Otherwise |images| will be NULL anyway */ + g_assert (images->n_animation_pixbufs > 0); + + g_assert (details->current_image >= 0 && + details->current_image < images->n_animation_pixbufs); + + pixbuf = images->animation_pixbufs[details->current_image]; + + g_assert (pixbuf != NULL); + + width = gdk_pixbuf_get_width (pixbuf); + height = gdk_pixbuf_get_height (pixbuf); + + /* Compute the offsets for the image centered on our allocation */ + x_offset = (widget->allocation.width - width) / 2; + y_offset = (widget->allocation.height - height) / 2; + + pix_area.x = x_offset + widget->allocation.x; + pix_area.y = y_offset + widget->allocation.y; + pix_area.width = width; + pix_area.height = height; + + if (!gdk_rectangle_intersect (&event->area, &pix_area, &dest)) + { + return FALSE; + } + + gc = gdk_gc_new (widget->window); + gdk_draw_pixbuf (widget->window, gc, pixbuf, + dest.x - x_offset - widget->allocation.x, + dest.y - y_offset - widget->allocation.y, + dest.x, dest.y, + dest.width, dest.height, + GDK_RGB_DITHER_MAX, 0, 0); + g_object_unref (gc); + + return FALSE; +} + +static gboolean +bump_spinner_frame_cb (EphySpinner *spinner) +{ + EphySpinnerDetails *details = spinner->details; + + /* This can happen when we've unloaded the images on a theme + * change, but haven't been in the queued size request yet. + * Just skip this update. + */ + if (details->images == NULL) return TRUE; + + details->current_image++; + if (details->current_image >= details->images->n_animation_pixbufs) + { + /* the 0th frame is the 'rest' icon */ + details->current_image = MIN (1, details->images->n_animation_pixbufs); + } + + gtk_widget_queue_draw (GTK_WIDGET (spinner)); + + /* run again */ + return TRUE; +} + +/** + * ephy_spinner_start: + * @spinner: a #EphySpinner + * + * Start the spinner animation. + **/ +void +ephy_spinner_start (EphySpinner *spinner) +{ + EphySpinnerDetails *details = spinner->details; + + details->spinning = TRUE; + + if (GTK_WIDGET_MAPPED (GTK_WIDGET (spinner)) && + details->timer_task == 0 && + ephy_spinner_load_images (spinner)) + { + /* the 0th frame is the 'rest' icon */ + details->current_image = MIN (1, details->images->n_animation_pixbufs); + + details->timer_task = + g_timeout_add_full (G_PRIORITY_LOW, + details->timeout, + (GSourceFunc) bump_spinner_frame_cb, + spinner, + NULL); + } +} + +static void +ephy_spinner_remove_update_callback (EphySpinner *spinner) +{ + EphySpinnerDetails *details = spinner->details; + + if (details->timer_task != 0) + { + g_source_remove (details->timer_task); + details->timer_task = 0; + } +} + +/** + * ephy_spinner_stop: + * @spinner: a #EphySpinner + * + * Stop the spinner animation. + **/ +void +ephy_spinner_stop (EphySpinner *spinner) +{ + EphySpinnerDetails *details = spinner->details; + + details->spinning = FALSE; + details->current_image = 0; + + if (details->timer_task != 0) + { + ephy_spinner_remove_update_callback (spinner); + + if (GTK_WIDGET_MAPPED (GTK_WIDGET (spinner))) + { + gtk_widget_queue_draw (GTK_WIDGET (spinner)); + } + } +} + +/* + * ephy_spinner_set_size: + * @spinner: a #EphySpinner + * @size: the size of type %GtkIconSize + * + * Set the size of the spinner. + **/ +void +ephy_spinner_set_size (EphySpinner *spinner, + GtkIconSize size) +{ + if (size == GTK_ICON_SIZE_INVALID) + { + size = GTK_ICON_SIZE_DIALOG; + } + + if (size != spinner->details->size) + { + ephy_spinner_unload_images (spinner); + + spinner->details->size = size; + + gtk_widget_queue_resize (GTK_WIDGET (spinner)); + } +} + +#if 0 +/* + * ephy_spinner_set_timeout: + * @spinner: a #EphySpinner + * @timeout: time delay between updates to the spinner. + * + * Sets the timeout delay for spinner updates. + **/ +void +ephy_spinner_set_timeout (EphySpinner *spinner, + guint timeout) +{ + EphySpinnerDetails *details = spinner->details; + + if (timeout != details->timeout) + { + ephy_spinner_stop (spinner); + + details->timeout = timeout; + + if (details->spinning) + { + ephy_spinner_start (spinner); + } + } +} +#endif + +static void +ephy_spinner_size_request (GtkWidget *widget, + GtkRequisition *requisition) +{ + EphySpinner *spinner = EPHY_SPINNER (widget); + EphySpinnerDetails *details = spinner->details; + + if ((details->need_load && + !ephy_spinner_load_images (spinner)) || + details->images == NULL) + { + requisition->width = requisition->height = 0; + gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (widget), + details->size, + &requisition->width, + &requisition->height); + return; + } + + requisition->width = details->images->width; + requisition->height = details->images->height; + + /* FIXME fix this hack */ + /* allocate some extra margin so we don't butt up against toolbar edges */ + if (details->size != GTK_ICON_SIZE_MENU) + { + requisition->width += 2; + requisition->height += 2; + } +} + +static void +ephy_spinner_map (GtkWidget *widget) +{ + EphySpinner *spinner = EPHY_SPINNER (widget); + EphySpinnerDetails *details = spinner->details; + + GTK_WIDGET_CLASS (parent_class)->map (widget); + + if (details->spinning) + { + ephy_spinner_start (spinner); + } +} + +static void +ephy_spinner_unmap (GtkWidget *widget) +{ + EphySpinner *spinner = EPHY_SPINNER (widget); + + ephy_spinner_remove_update_callback (spinner); + + GTK_WIDGET_CLASS (parent_class)->unmap (widget); +} + +static void +ephy_spinner_dispose (GObject *object) +{ + EphySpinner *spinner = EPHY_SPINNER (object); + + g_signal_handlers_disconnect_by_func + (spinner->details->icon_theme, + G_CALLBACK (icon_theme_changed_cb), spinner); + + G_OBJECT_CLASS (parent_class)->dispose (object); +} + +static void +ephy_spinner_finalize (GObject *object) +{ + EphySpinner *spinner = EPHY_SPINNER (object); + + ephy_spinner_remove_update_callback (spinner); + ephy_spinner_unload_images (spinner); + + g_object_unref (spinner->details->cache); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + +static void +ephy_spinner_screen_changed (GtkWidget *widget, + GdkScreen *old_screen) +{ + EphySpinner *spinner = EPHY_SPINNER (widget); + EphySpinnerDetails *details = spinner->details; + GdkScreen *screen; + + if (GTK_WIDGET_CLASS (parent_class)->screen_changed) + { + GTK_WIDGET_CLASS (parent_class)->screen_changed (widget, old_screen); + } + + screen = gtk_widget_get_screen (widget); + + /* FIXME: this seems to be happening when then spinner is destroyed!? */ + if (old_screen == screen) return; + + /* We'll get mapped again on the new screen, but not unmapped from + * the old screen, so remove timeout here. + */ + ephy_spinner_remove_update_callback (spinner); + + ephy_spinner_unload_images (spinner); + + if (old_screen != NULL) + { + g_signal_handlers_disconnect_by_func + (gtk_icon_theme_get_for_screen (old_screen), + G_CALLBACK (icon_theme_changed_cb), spinner); + } + + details->icon_theme = gtk_icon_theme_get_for_screen (screen); + g_signal_connect (details->icon_theme, "changed", + G_CALLBACK (icon_theme_changed_cb), spinner); +} + +static void +ephy_spinner_class_init (EphySpinnerClass *class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (class); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); + + parent_class = g_type_class_peek_parent (class); + + object_class->dispose = ephy_spinner_dispose; + object_class->finalize = ephy_spinner_finalize; + + widget_class->expose_event = ephy_spinner_expose; + widget_class->size_request = ephy_spinner_size_request; + widget_class->map = ephy_spinner_map; + widget_class->unmap = ephy_spinner_unmap; + widget_class->screen_changed = ephy_spinner_screen_changed; + + g_type_class_add_private (object_class, sizeof (EphySpinnerDetails)); +} + +/* + * ephy_spinner_new: + * + * Create a new #EphySpinner. The spinner is a widget + * that gives the user feedback about network status with + * an animated image. + * + * Return Value: the spinner #GtkWidget + **/ +GtkWidget * +ephy_spinner_new (void) +{ + return GTK_WIDGET (g_object_new (EPHY_TYPE_SPINNER, NULL)); +} diff --git a/trunk/libempathy-gtk/ephy-spinner.h b/trunk/libempathy-gtk/ephy-spinner.h new file mode 100644 index 000000000..4435fe371 --- /dev/null +++ b/trunk/libempathy-gtk/ephy-spinner.h @@ -0,0 +1,70 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* + * Copyright © 2000 Eazel, Inc. + * Copyright © 2004, 2006 Christian Persch + * + * Nautilus 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. + * + * Nautilus 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 + * + * Author: Andy Hertzfeld <andy@eazel.com> + * + * $Id: ephy-spinner.h 2114 2006-12-25 12:15:00Z mr $ + */ + +#ifndef EPHY_SPINNER_H +#define EPHY_SPINNER_H + +#include <gtk/gtkwidget.h> +#include <gtk/gtkenums.h> + +G_BEGIN_DECLS + +#define EPHY_TYPE_SPINNER (ephy_spinner_get_type ()) +#define EPHY_SPINNER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EPHY_TYPE_SPINNER, EphySpinner)) +#define EPHY_SPINNER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EPHY_TYPE_SPINNER, EphySpinnerClass)) +#define EPHY_IS_SPINNER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EPHY_TYPE_SPINNER)) +#define EPHY_IS_SPINNER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_SPINNER)) +#define EPHY_SPINNER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EPHY_TYPE_SPINNER, EphySpinnerClass)) + +typedef struct _EphySpinner EphySpinner; +typedef struct _EphySpinnerClass EphySpinnerClass; +typedef struct _EphySpinnerDetails EphySpinnerDetails; + +struct _EphySpinner +{ + GtkWidget parent; + + /*< private >*/ + EphySpinnerDetails *details; +}; + +struct _EphySpinnerClass +{ + GtkWidgetClass parent_class; +}; + +GType ephy_spinner_get_type (void); + +GtkWidget *ephy_spinner_new (void); + +void ephy_spinner_start (EphySpinner *throbber); + +void ephy_spinner_stop (EphySpinner *throbber); + +void ephy_spinner_set_size (EphySpinner *spinner, + GtkIconSize size); + +G_END_DECLS + +#endif /* EPHY_SPINNER_H */ diff --git a/trunk/libempathy-gtk/gossip-about-dialog.c b/trunk/libempathy-gtk/gossip-about-dialog.c new file mode 100644 index 000000000..d2c13faa2 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-about-dialog.c @@ -0,0 +1,113 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include <glib/gi18n.h> +#include <gtk/gtkaboutdialog.h> +#include <gtk/gtksizegroup.h> +#include <glade/glade.h> + +#include "gossip-about-dialog.h" +#include "gossip-ui-utils.h" + +#define WEB_SITE "http://live.gnome.org/Empathy" + +static void about_dialog_activate_link_cb (GtkAboutDialog *about, + const gchar *link, + gpointer data); + +static const char *authors[] = { + "Mikael Hallendal", + "Richard Hult", + "Martyn Russell", + "Geert-Jan Van den Bogaerde", + "Kevin Dougherty", + "Eitan Isaacson", + "Xavier Claessens", + NULL +}; + +static const char *documenters[] = { + NULL +}; + +static const char *artists[] = { + "Andreas Nilsson <nisses.mail@home.se>", + "Vinicius Depizzol <vdepizzol@gmail.com>", + NULL +}; + +static const char *license[] = { + N_("Empathy 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."), + N_("Empathy 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."), + N_("You should have received a copy of the GNU General Public License " + "along with Empathy; if not, write to the Free Software Foundation, Inc., " + "51 Franklin Street, Fifth Floor, Boston, MA 02110-130159 USA") +}; + +static void +about_dialog_activate_link_cb (GtkAboutDialog *about, + const gchar *link, + gpointer data) +{ + gossip_url_show (link); +} + +void +gossip_about_dialog_new (GtkWindow *parent) +{ + gchar *license_trans; + + gtk_about_dialog_set_url_hook (about_dialog_activate_link_cb, NULL, NULL); + + license_trans = g_strconcat (_(license[0]), "\n\n", + _(license[1]), "\n\n", + _(license[2]), "\n\n", + NULL); + + gtk_show_about_dialog (parent, + "artists", artists, + "authors", authors, + "comments", _("An Instant Messaging client for GNOME"), + "license", license_trans, + "wrap-license", TRUE, + "copyright", "Imendio AB 2002-2007\nCollabora Ltd 2007", + "documenters", documenters, + "logo-icon-name", "empathy", + "translator-credits", _("translator-credits"), + "version", PACKAGE_VERSION, + "website", WEB_SITE, + NULL); + + g_free (license_trans); +} + + diff --git a/trunk/libempathy-gtk/gossip-about-dialog.h b/trunk/libempathy-gtk/gossip-about-dialog.h new file mode 100644 index 000000000..0e5b9d4fb --- /dev/null +++ b/trunk/libempathy-gtk/gossip-about-dialog.h @@ -0,0 +1,34 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006-2007 Imendio AB + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + */ + +#ifndef __GOSSIP_ABOUT_DIALOG_H__ +#define __GOSSIP_ABOUT_DIALOG_H__ + +#include <gtk/gtkwindow.h> + +G_BEGIN_DECLS + +void gossip_about_dialog_new (GtkWindow *parent); + +G_END_DECLS + +#endif /* __GOSSIP_ABOUT_DIALOG_H__ */ diff --git a/trunk/libempathy-gtk/gossip-account-chooser.c b/trunk/libempathy-gtk/gossip-account-chooser.c new file mode 100644 index 000000000..dfed1bb54 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-account-chooser.c @@ -0,0 +1,637 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + */ + +#include "config.h" + +#include <string.h> + +#include <glib/gi18n.h> +#include <gtk/gtk.h> +#include <glade/glade.h> + +#include <libtelepathy/tp-conn.h> +#include <libmissioncontrol/mc-account-monitor.h> +#include <libmissioncontrol/mission-control.h> + +#include <libempathy/gossip-utils.h> + +#include "gossip-ui-utils.h" +#include "gossip-account-chooser.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_ACCOUNT_CHOOSER, GossipAccountChooserPriv)) + +typedef struct { + MissionControl *mc; + McAccountMonitor *monitor; + + gboolean set_active_item; + gboolean can_select_all; + gboolean has_all_option; +} GossipAccountChooserPriv; + +typedef struct { + GossipAccountChooser *chooser; + McAccount *account; + gboolean set; +} SetAccountData; + +enum { + COL_ACCOUNT_IMAGE, + COL_ACCOUNT_TEXT, + COL_ACCOUNT_ENABLED, /* Usually tied to connected state */ + COL_ACCOUNT_POINTER, + COL_ACCOUNT_COUNT +}; + +static void account_chooser_finalize (GObject *object); +static void account_chooser_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec); +static void account_chooser_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec); +static void account_chooser_setup (GossipAccountChooser *chooser); +static void account_chooser_account_created_cb (McAccountMonitor *monitor, + const gchar *unique_name, + GossipAccountChooser *chooser); +static void account_chooser_account_add_foreach (McAccount *account, + GossipAccountChooser *chooser); +static void account_chooser_account_deleted_cb (McAccountMonitor *monitor, + const gchar *unique_name, + GossipAccountChooser *chooser); +static void account_chooser_account_remove_foreach (McAccount *account, + GossipAccountChooser *chooser); +static void account_chooser_update_iter (GossipAccountChooser *chooser, + GtkTreeIter *iter, + McAccount *account); +static void account_chooser_status_changed_cb (MissionControl *mc, + TelepathyConnectionStatus status, + McPresence presence, + TelepathyConnectionStatusReason reason, + const gchar *unique_name, + GossipAccountChooser *chooser); +static gboolean account_chooser_separator_func (GtkTreeModel *model, + GtkTreeIter *iter, + GossipAccountChooser *chooser); +static gboolean account_chooser_set_account_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + SetAccountData *data); +static gboolean account_chooser_set_enabled_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GossipAccountChooser *chooser); + +enum { + PROP_0, + PROP_CAN_SELECT_ALL, + PROP_HAS_ALL_OPTION, +}; + +G_DEFINE_TYPE (GossipAccountChooser, gossip_account_chooser, GTK_TYPE_COMBO_BOX); + +static void +gossip_account_chooser_class_init (GossipAccountChooserClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = account_chooser_finalize; + object_class->get_property = account_chooser_get_property; + object_class->set_property = account_chooser_set_property; + + g_object_class_install_property (object_class, + PROP_CAN_SELECT_ALL, + g_param_spec_boolean ("can-select-all", + "Can Select All", + "Should the user be able to select offline accounts", + FALSE, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_HAS_ALL_OPTION, + g_param_spec_boolean ("has-all-option", + "Has All Option", + "Have a separate option in the list to mean ALL accounts", + FALSE, + G_PARAM_READWRITE)); + + g_type_class_add_private (object_class, sizeof (GossipAccountChooserPriv)); +} + +static void +gossip_account_chooser_init (GossipAccountChooser *chooser) +{ +} + +static void +account_chooser_finalize (GObject *object) +{ + GossipAccountChooser *chooser; + GossipAccountChooserPriv *priv; + + chooser = GOSSIP_ACCOUNT_CHOOSER (object); + priv = GET_PRIV (object); + + g_signal_handlers_disconnect_by_func (priv->monitor, + account_chooser_account_created_cb, + chooser); + g_signal_handlers_disconnect_by_func (priv->monitor, + account_chooser_account_deleted_cb, + chooser); + dbus_g_proxy_disconnect_signal (DBUS_G_PROXY (priv->mc), + "AccountStatusChanged", + G_CALLBACK (account_chooser_status_changed_cb), + chooser); + g_object_unref (priv->mc); + g_object_unref (priv->monitor); + + G_OBJECT_CLASS (gossip_account_chooser_parent_class)->finalize (object); +} + +static void +account_chooser_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec) +{ + GossipAccountChooserPriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_CAN_SELECT_ALL: + g_value_set_boolean (value, priv->can_select_all); + break; + case PROP_HAS_ALL_OPTION: + g_value_set_boolean (value, priv->has_all_option); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +static void +account_chooser_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec) +{ + GossipAccountChooserPriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_CAN_SELECT_ALL: + gossip_account_chooser_set_can_select_all (GOSSIP_ACCOUNT_CHOOSER (object), + g_value_get_boolean (value)); + break; + case PROP_HAS_ALL_OPTION: + gossip_account_chooser_set_has_all_option (GOSSIP_ACCOUNT_CHOOSER (object), + g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +GtkWidget * +gossip_account_chooser_new (void) +{ + GossipAccountChooserPriv *priv; + McAccountMonitor *monitor; + GtkWidget *chooser; + + monitor = mc_account_monitor_new (); + chooser = g_object_new (GOSSIP_TYPE_ACCOUNT_CHOOSER, NULL); + + priv = GET_PRIV (chooser); + + priv->mc = gossip_mission_control_new (); + priv->monitor = mc_account_monitor_new (); + + g_signal_connect (priv->monitor, "account-created", + G_CALLBACK (account_chooser_account_created_cb), + chooser); + g_signal_connect (priv->monitor, "account-deleted", + G_CALLBACK (account_chooser_account_deleted_cb), + chooser); + dbus_g_proxy_connect_signal (DBUS_G_PROXY (priv->mc), "AccountStatusChanged", + G_CALLBACK (account_chooser_status_changed_cb), + chooser, NULL); + + account_chooser_setup (GOSSIP_ACCOUNT_CHOOSER (chooser)); + + return chooser; +} + +McAccount * +gossip_account_chooser_get_account (GossipAccountChooser *chooser) +{ + GossipAccountChooserPriv *priv; + McAccount *account; + GtkTreeModel *model; + GtkTreeIter iter; + + g_return_val_if_fail (GOSSIP_IS_ACCOUNT_CHOOSER (chooser), NULL); + + priv = GET_PRIV (chooser); + + model = gtk_combo_box_get_model (GTK_COMBO_BOX (chooser)); + gtk_combo_box_get_active_iter (GTK_COMBO_BOX (chooser), &iter); + + gtk_tree_model_get (model, &iter, COL_ACCOUNT_POINTER, &account, -1); + + return account; +} + +gboolean +gossip_account_chooser_set_account (GossipAccountChooser *chooser, + McAccount *account) +{ + GtkComboBox *combobox; + GtkTreeModel *model; + GtkTreeIter iter; + SetAccountData data; + + g_return_val_if_fail (GOSSIP_IS_ACCOUNT_CHOOSER (chooser), FALSE); + + combobox = GTK_COMBO_BOX (chooser); + model = gtk_combo_box_get_model (combobox); + gtk_combo_box_get_active_iter (combobox, &iter); + + data.chooser = chooser; + data.account = account; + + gtk_tree_model_foreach (model, + (GtkTreeModelForeachFunc) account_chooser_set_account_foreach, + &data); + + return data.set; +} + +gboolean +gossip_account_chooser_get_can_select_all (GossipAccountChooser *chooser) +{ + GossipAccountChooserPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_ACCOUNT_CHOOSER (chooser), FALSE); + + priv = GET_PRIV (chooser); + + return priv->can_select_all; +} + +void +gossip_account_chooser_set_can_select_all (GossipAccountChooser *chooser, + gboolean can_select_all) +{ + GossipAccountChooserPriv *priv; + GtkComboBox *combobox; + GtkTreeModel *model; + + g_return_if_fail (GOSSIP_IS_ACCOUNT_CHOOSER (chooser)); + + priv = GET_PRIV (chooser); + + if (priv->can_select_all == can_select_all) { + return; + } + + combobox = GTK_COMBO_BOX (chooser); + model = gtk_combo_box_get_model (combobox); + + priv->can_select_all = can_select_all; + + gtk_tree_model_foreach (model, + (GtkTreeModelForeachFunc) account_chooser_set_enabled_foreach, + chooser); + + g_object_notify (G_OBJECT (chooser), "can-select-all"); +} + +gboolean +gossip_account_chooser_get_has_all_option (GossipAccountChooser *chooser) +{ + GossipAccountChooserPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_ACCOUNT_CHOOSER (chooser), FALSE); + + priv = GET_PRIV (chooser); + + return priv->has_all_option; +} + +void +gossip_account_chooser_set_has_all_option (GossipAccountChooser *chooser, + gboolean has_all_option) +{ + GossipAccountChooserPriv *priv; + GtkComboBox *combobox; + GtkListStore *store; + GtkTreeModel *model; + GtkTreeIter iter; + + g_return_if_fail (GOSSIP_IS_ACCOUNT_CHOOSER (chooser)); + + priv = GET_PRIV (chooser); + + if (priv->has_all_option == has_all_option) { + return; + } + + combobox = GTK_COMBO_BOX (chooser); + model = gtk_combo_box_get_model (combobox); + store = GTK_LIST_STORE (model); + + priv->has_all_option = has_all_option; + + /* + * The first 2 options are the ALL and separator + */ + + if (has_all_option) { + gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (chooser), + (GtkTreeViewRowSeparatorFunc) + account_chooser_separator_func, + chooser, + NULL); + + gtk_list_store_prepend (store, &iter); + gtk_list_store_set (store, &iter, + COL_ACCOUNT_TEXT, NULL, + COL_ACCOUNT_ENABLED, TRUE, + COL_ACCOUNT_POINTER, NULL, + -1); + + gtk_list_store_prepend (store, &iter); + gtk_list_store_set (store, &iter, + COL_ACCOUNT_TEXT, _("All"), + COL_ACCOUNT_ENABLED, TRUE, + COL_ACCOUNT_POINTER, NULL, + -1); + } else { + if (gtk_tree_model_get_iter_first (model, &iter)) { + if (gtk_list_store_remove (GTK_LIST_STORE (model), &iter)) { + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); + } + } + + gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (chooser), + (GtkTreeViewRowSeparatorFunc) + NULL, + NULL, + NULL); + } + + g_object_notify (G_OBJECT (chooser), "has-all-option"); +} + +static void +account_chooser_setup (GossipAccountChooser *chooser) +{ + GossipAccountChooserPriv *priv; + GList *accounts; + GtkListStore *store; + GtkCellRenderer *renderer; + GtkComboBox *combobox; + + priv = GET_PRIV (chooser); + + /* Set up combo box with new store */ + combobox = GTK_COMBO_BOX (chooser); + + gtk_cell_layout_clear (GTK_CELL_LAYOUT (combobox)); + + store = gtk_list_store_new (COL_ACCOUNT_COUNT, + G_TYPE_STRING, + G_TYPE_STRING, /* Name */ + G_TYPE_BOOLEAN, /* Enabled */ + MC_TYPE_ACCOUNT); + + gtk_combo_box_set_model (combobox, GTK_TREE_MODEL (store)); + + renderer = gtk_cell_renderer_pixbuf_new (); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), renderer, FALSE); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combobox), renderer, + "icon-name", COL_ACCOUNT_IMAGE, + "sensitive", COL_ACCOUNT_ENABLED, + NULL); + g_object_set (renderer, "stock-size", GTK_ICON_SIZE_BUTTON, NULL); + + renderer = gtk_cell_renderer_text_new (); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), renderer, TRUE); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combobox), renderer, + "text", COL_ACCOUNT_TEXT, + "sensitive", COL_ACCOUNT_ENABLED, + NULL); + + /* Populate accounts */ + accounts = mc_accounts_list (); + g_list_foreach (accounts, + (GFunc) account_chooser_account_add_foreach, + chooser); + + mc_accounts_list_free (accounts); + g_object_unref (store); +} + +static void +account_chooser_account_created_cb (McAccountMonitor *monitor, + const gchar *unique_name, + GossipAccountChooser *chooser) +{ + McAccount *account; + + account = mc_account_lookup (unique_name); + account_chooser_account_add_foreach (account, chooser); + g_object_unref (account); +} + +static void +account_chooser_account_add_foreach (McAccount *account, + GossipAccountChooser *chooser) +{ + GossipAccountChooserPriv *priv; + GtkListStore *store; + GtkComboBox *combobox; + GtkTreeIter iter; + + priv = GET_PRIV (chooser); + + combobox = GTK_COMBO_BOX (chooser); + store = GTK_LIST_STORE (gtk_combo_box_get_model (combobox)); + + gtk_list_store_append (store, &iter); + account_chooser_update_iter (chooser, &iter, account); +} + +static void +account_chooser_account_deleted_cb (McAccountMonitor *monitor, + const gchar *unique_name, + GossipAccountChooser *chooser) +{ + McAccount *account; + + account = mc_account_lookup (unique_name); + account_chooser_account_remove_foreach (account, chooser); + g_object_unref (account); +} + +static void +account_chooser_account_remove_foreach (McAccount *account, + GossipAccountChooser *chooser) +{ + /* Fixme: TODO */ +} + +static void +account_chooser_update_iter (GossipAccountChooser *chooser, + GtkTreeIter *iter, + McAccount *account) +{ + GossipAccountChooserPriv *priv; + GtkListStore *store; + GtkComboBox *combobox; + TpConn *tp_conn; + const gchar *icon_name; + gboolean is_enabled; + + priv = GET_PRIV (chooser); + + combobox = GTK_COMBO_BOX (chooser); + store = GTK_LIST_STORE (gtk_combo_box_get_model (combobox)); + + icon_name = gossip_icon_name_from_account (account); + tp_conn = mission_control_get_connection (priv->mc, account, NULL); + is_enabled = (tp_conn != NULL || priv->can_select_all); + + if (tp_conn) { + g_object_unref (tp_conn); + } + + gtk_list_store_set (store, iter, + COL_ACCOUNT_IMAGE, icon_name, + COL_ACCOUNT_TEXT, mc_account_get_display_name (account), + COL_ACCOUNT_ENABLED, is_enabled, + COL_ACCOUNT_POINTER, account, + -1); + + /* set first connected account as active account */ + if (priv->set_active_item == FALSE && is_enabled) { + priv->set_active_item = TRUE; + gtk_combo_box_set_active_iter (combobox, iter); + } +} + +static void +account_chooser_status_changed_cb (MissionControl *mc, + TelepathyConnectionStatus status, + McPresence presence, + TelepathyConnectionStatusReason reason, + const gchar *unique_name, + GossipAccountChooser *chooser) +{ + /* FIXME: implement */ +} + +static gboolean +account_chooser_separator_func (GtkTreeModel *model, + GtkTreeIter *iter, + GossipAccountChooser *chooser) +{ + GossipAccountChooserPriv *priv; + gchar *text; + gboolean is_separator; + + priv = GET_PRIV (chooser); + + if (!priv->has_all_option) { + return FALSE; + } + + gtk_tree_model_get (model, iter, COL_ACCOUNT_TEXT, &text, -1); + is_separator = text == NULL; + g_free (text); + + return is_separator; +} + +static gboolean +account_chooser_set_account_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + SetAccountData *data) +{ + McAccount *account; + gboolean equal; + + gtk_tree_model_get (model, iter, COL_ACCOUNT_POINTER, &account, -1); + + /* Special case so we can make it possible to select the All option */ + if (!data->account && !account) { + equal = TRUE; + } + else if ((data->account && !account) || (!data->account && account)) { + equal = FALSE; + } else { + equal = gossip_account_equal (data->account, account); + g_object_unref (account); + } + + if (equal) { + GtkComboBox *combobox; + + combobox = GTK_COMBO_BOX (data->chooser); + gtk_combo_box_set_active_iter (combobox, iter); + + data->set = TRUE; + } + + return equal; +} + +static gboolean +account_chooser_set_enabled_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GossipAccountChooser *chooser) +{ + GossipAccountChooserPriv *priv; + McAccount *account; + + priv = GET_PRIV (chooser); + + gtk_tree_model_get (model, iter, COL_ACCOUNT_POINTER, &account, -1); + if (!account) { + return FALSE; + } + + account_chooser_update_iter (chooser, iter, account); + g_object_unref (account); + + return FALSE; +} + diff --git a/trunk/libempathy-gtk/gossip-account-chooser.h b/trunk/libempathy-gtk/gossip-account-chooser.h new file mode 100644 index 000000000..b2d7c0cdd --- /dev/null +++ b/trunk/libempathy-gtk/gossip-account-chooser.h @@ -0,0 +1,66 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + */ + +#ifndef __GOSSIP_ACCOUNT_CHOOSER_H__ +#define __GOSSIP_ACCOUNT_CHOOSER_H__ + +#include <gtk/gtkcombobox.h> + +#include <libmissioncontrol/mc-account.h> + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_ACCOUNT_CHOOSER (gossip_account_chooser_get_type ()) +#define GOSSIP_ACCOUNT_CHOOSER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_ACCOUNT_CHOOSER, GossipAccountChooser)) +#define GOSSIP_ACCOUNT_CHOOSER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOSSIP_TYPE_ACCOUNT_CHOOSER, GossipAccountChooserClass)) +#define GOSSIP_IS_ACCOUNT_CHOOSER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_ACCOUNT_CHOOSER)) +#define GOSSIP_IS_ACCOUNT_CHOOSER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_ACCOUNT_CHOOSER)) +#define GOSSIP_ACCOUNT_CHOOSER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_ACCOUNT_CHOOSER, GossipAccountChooserClass)) + +typedef struct _GossipAccountChooser GossipAccountChooser; +typedef struct _GossipAccountChooserClass GossipAccountChooserClass; + +struct _GossipAccountChooser { + GtkComboBox parent; +}; + +struct _GossipAccountChooserClass { + GtkComboBoxClass parent_class; +}; + +GType gossip_account_chooser_get_type (void) G_GNUC_CONST; +GtkWidget * gossip_account_chooser_new (void); +McAccount * gossip_account_chooser_get_account (GossipAccountChooser *chooser); +gboolean gossip_account_chooser_set_account (GossipAccountChooser *chooser, + McAccount *account); +gboolean gossip_account_chooser_get_can_select_all (GossipAccountChooser *chooser); + +void gossip_account_chooser_set_can_select_all (GossipAccountChooser *chooser, + gboolean can_select_all); +gboolean gossip_account_chooser_get_has_all_option (GossipAccountChooser *chooser); +void gossip_account_chooser_set_has_all_option (GossipAccountChooser *chooser, + gboolean has_all_option); + +G_END_DECLS + +#endif /* __GOSSIP_ACCOUNT_CHOOSER_H__ */ + diff --git a/trunk/libempathy-gtk/gossip-account-widget-generic.c b/trunk/libempathy-gtk/gossip-account-widget-generic.c new file mode 100644 index 000000000..4ba0f9f2d --- /dev/null +++ b/trunk/libempathy-gtk/gossip-account-widget-generic.c @@ -0,0 +1,310 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + * Martyn Russell <martyn@imendio.com> + */ + +#include <config.h> + +#include <string.h> + +#include <gtk/gtk.h> +#include <glib/gi18n.h> + +#include <libmissioncontrol/mc-account.h> +#include <libmissioncontrol/mc-protocol.h> + +#include <libempathy-gtk/gossip-ui-utils.h> + +#include "gossip-account-widget-generic.h" + +typedef struct { + McAccount *account; + + GtkWidget *sw; + GtkWidget *table_settings; + GtkSizeGroup *size_group; + + guint n_rows; +} GossipAccountWidgetGeneric; + +static gboolean account_widget_generic_entry_focus_cb (GtkWidget *widget, + GdkEventFocus *event, + GossipAccountWidgetGeneric *settings); +static void account_widget_generic_int_changed_cb (GtkWidget *widget, + GossipAccountWidgetGeneric *settings); +static void account_widget_generic_checkbutton_toggled_cb (GtkWidget *widget, + GossipAccountWidgetGeneric *settings); +static gchar * account_widget_generic_format_param_name (const gchar *param_name); +static void account_widget_generic_setup_foreach (McProtocolParam *param, + GossipAccountWidgetGeneric *settings); +static void account_widget_generic_destroy_cb (GtkWidget *widget, + GossipAccountWidgetGeneric *settings); + +static gboolean +account_widget_generic_entry_focus_cb (GtkWidget *widget, + GdkEventFocus *event, + GossipAccountWidgetGeneric *settings) +{ + const gchar *str; + const gchar *param_name; + + str = gtk_entry_get_text (GTK_ENTRY (widget)); + param_name = g_object_get_data (G_OBJECT (widget), "param_name"); + + mc_account_set_param_string (settings->account, param_name, str); + + return FALSE; +} + +static void +account_widget_generic_int_changed_cb (GtkWidget *widget, + GossipAccountWidgetGeneric *settings) +{ + const gchar *param_name; + gint value; + + value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (widget)); + param_name = g_object_get_data (G_OBJECT (widget), "param_name"); + + mc_account_set_param_int (settings->account, param_name, value); +} + +static void +account_widget_generic_checkbutton_toggled_cb (GtkWidget *widget, + GossipAccountWidgetGeneric *settings) +{ + gboolean active; + const gchar *param_name; + + active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); + param_name = g_object_get_data (G_OBJECT (widget), "param_name"); + + mc_account_set_param_boolean (settings->account, param_name, active); +} + +static gchar * +account_widget_generic_format_param_name (const gchar *param_name) +{ + gchar *str; + gchar *p; + + str = g_strdup (param_name); + + if (str && g_ascii_isalpha (str[0])) { + str[0] = g_ascii_toupper (str[0]); + } + + while ((p = strchr (str, '-')) != NULL) { + if (p[1] != '\0' && g_ascii_isalpha (p[1])) { + p[0] = ' '; + p[1] = g_ascii_toupper (p[1]); + } + + p++; + } + + return str; +} + +static void +account_widget_generic_setup_foreach (McProtocolParam *param, + GossipAccountWidgetGeneric *settings) +{ + GtkWidget *widget; + gchar *param_name_formatted; + + param_name_formatted = account_widget_generic_format_param_name (param->name); + + gtk_table_resize (GTK_TABLE (settings->table_settings), + ++settings->n_rows, + 2); + + if (param->signature[0] == 's') { + gchar *str = NULL; + + str = g_strdup_printf (_("%s:"), param_name_formatted); + widget = gtk_label_new (str); + g_free (str); + + gtk_size_group_add_widget (settings->size_group, widget); + gtk_table_attach (GTK_TABLE (settings->table_settings), + widget, + 0, 1, + settings->n_rows - 1, settings->n_rows, + GTK_FILL, 0, + 0, 0); + + str = NULL; + widget = gtk_entry_new (); + mc_account_get_param_string (settings->account, + param->name, + &str); + if (str) { + gtk_entry_set_text (GTK_ENTRY (widget), str); + g_free (str); + } + + if (strstr (param->name, "password")) { + gtk_entry_set_visibility (GTK_ENTRY (widget), FALSE); + } + + g_signal_connect (widget, "focus-out-event", + G_CALLBACK (account_widget_generic_entry_focus_cb), + settings); + + gtk_table_attach (GTK_TABLE (settings->table_settings), + widget, + 1, 2, + settings->n_rows - 1, settings->n_rows, + GTK_FILL | GTK_EXPAND, 0, + 0, 0); + } + else if (param->signature[0] == 'q' || + param->signature[0] == 'n') { + gchar *str = NULL; + gint value = 0; + + str = g_strdup_printf (_("%s:"), param_name_formatted); + widget = gtk_label_new (str); + g_free (str); + + gtk_size_group_add_widget (settings->size_group, widget); + gtk_table_attach (GTK_TABLE (settings->table_settings), + widget, + 0, 1, + settings->n_rows - 1, settings->n_rows, + GTK_FILL, 0, + 0, 0); + + widget = gtk_spin_button_new_with_range (0, G_MAXINT, 1); + mc_account_get_param_int (settings->account, + param->name, + &value); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), value); + + g_signal_connect (widget, "value-changed", + G_CALLBACK (account_widget_generic_int_changed_cb), + settings); + + gtk_table_attach (GTK_TABLE (settings->table_settings), + widget, + 1, 2, + settings->n_rows - 1, settings->n_rows, + GTK_FILL | GTK_EXPAND, 0, + 0, 0); + } + else if (param->signature[0] == 'b') { + gboolean value = FALSE; + + mc_account_get_param_boolean (settings->account, + param->name, + &value); + + widget = gtk_check_button_new_with_label (param_name_formatted); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), value); + + g_signal_connect (widget, "toggled", + G_CALLBACK (account_widget_generic_checkbutton_toggled_cb), + settings); + + gtk_table_attach (GTK_TABLE (settings->table_settings), + widget, + 0, 2, + settings->n_rows - 1, settings->n_rows, + GTK_FILL | GTK_EXPAND, 0, + 0, 0); + } else { + g_assert_not_reached (); + } + + g_free (param_name_formatted); + + g_object_set_data_full (G_OBJECT (widget), "param_name", + g_strdup (param->name), g_free); +} + +static void +accounts_widget_generic_setup (GossipAccountWidgetGeneric *settings) +{ + McProtocol *protocol; + McProfile *profile; + GSList *params; + + profile = mc_account_get_profile (settings->account); + protocol = mc_profile_get_protocol (profile); + params = mc_protocol_get_params (protocol); + + g_slist_foreach (params, + (GFunc) account_widget_generic_setup_foreach, + settings); + + g_slist_free (params); +} + +static void +account_widget_generic_destroy_cb (GtkWidget *widget, + GossipAccountWidgetGeneric *settings) +{ + g_object_unref (settings->account); + g_object_unref (settings->size_group); + + g_free (settings); +} + +GtkWidget * +gossip_account_widget_generic_new (McAccount *account, + GtkWidget *label_name) +{ + GossipAccountWidgetGeneric *settings; + + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + g_return_val_if_fail (GTK_IS_WIDGET (label_name), NULL); + + settings = g_new0 (GossipAccountWidgetGeneric, 1); + + settings->account = g_object_ref (account); + + settings->table_settings = gtk_table_new (0, 2, FALSE); + gtk_table_set_row_spacings (GTK_TABLE (settings->table_settings), 6); + gtk_table_set_col_spacings (GTK_TABLE (settings->table_settings), 6); + settings->sw = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (settings->sw), + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (settings->sw), + settings->table_settings); + + settings->size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); + if (label_name) { + gtk_size_group_add_widget (settings->size_group, label_name); + } + + accounts_widget_generic_setup (settings); + + g_signal_connect (settings->sw, "destroy", + G_CALLBACK (account_widget_generic_destroy_cb), + settings); + + gtk_widget_show_all (settings->sw); + + return settings->sw; +} diff --git a/trunk/libempathy-gtk/gossip-account-widget-generic.h b/trunk/libempathy-gtk/gossip-account-widget-generic.h new file mode 100644 index 000000000..4b3c7eba2 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-account-widget-generic.h @@ -0,0 +1,39 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + * Martyn Russell <martyn@imendio.com> + */ + +#ifndef __GOSSIP_ACCOUNT_WIDGET_GENERIC_H__ +#define __GOSSIP_ACCOUNT_WIDGET_GENERIC_H__ + +#include <gtk/gtk.h> + +#include <libmissioncontrol/mc-account.h> + +G_BEGIN_DECLS + +GtkWidget *gossip_account_widget_generic_new (McAccount *account, + GtkWidget *label_name); + +G_END_DECLS + +#endif /* __GOSSIP_ACCOUNT_WIDGET_GENERIC_H__ */ diff --git a/trunk/libempathy-gtk/gossip-account-widget-jabber.c b/trunk/libempathy-gtk/gossip-account-widget-jabber.c new file mode 100644 index 000000000..e7334b4b5 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-account-widget-jabber.c @@ -0,0 +1,281 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include <ctype.h> +#include <stdlib.h> +#include <string.h> + +#include <glib/gi18n.h> +#include <gtk/gtk.h> +#include <glade/glade.h> + +#include <libmissioncontrol/mc-profile.h> + +#include <libempathy/gossip-utils.h> + +#include "gossip-account-widget-jabber.h" +#include "gossip-ui-utils.h" + +#define PORT_WITHOUT_SSL 5222 +#define PORT_WITH_SSL 5223 + +typedef struct { + McAccount *account; + + GtkWidget *vbox_settings; + GtkWidget *button_forget; + GtkWidget *entry_id; + GtkWidget *entry_password; + GtkWidget *entry_resource; + GtkWidget *entry_server; + GtkWidget *spinbutton_port; + GtkWidget *checkbutton_ssl; +} GossipAccountWidgetJabber; + +static gboolean account_widget_jabber_entry_focus_cb (GtkWidget *widget, + GdkEventFocus *event, + GossipAccountWidgetJabber *settings); +static void account_widget_jabber_entry_changed_cb (GtkWidget *widget, + GossipAccountWidgetJabber *settings); +static void account_widget_jabber_checkbutton_toggled_cb (GtkWidget *widget, + GossipAccountWidgetJabber *settings); +static void account_widget_jabber_value_changed_cb (GtkWidget *spinbutton, + GossipAccountWidgetJabber *settings); +static void account_widget_jabber_button_forget_clicked_cb (GtkWidget *button, + GossipAccountWidgetJabber *settings); +static void account_widget_jabber_destroy_cb (GtkWidget *widget, + GossipAccountWidgetJabber *settings); +static void account_widget_jabber_setup (GossipAccountWidgetJabber *settings); + +static gboolean +account_widget_jabber_entry_focus_cb (GtkWidget *widget, + GdkEventFocus *event, + GossipAccountWidgetJabber *settings) +{ + const gchar *param; + const gchar *str; + + if (widget == settings->entry_password) { + param = "password"; + } + else if (widget == settings->entry_resource) { + param = "resource"; + } + else if (widget == settings->entry_server) { + param = "server"; + } + else if (widget == settings->entry_id) { + param = "account"; + } else { + return FALSE; + } + + str = gtk_entry_get_text (GTK_ENTRY (widget)); + if (G_STR_EMPTY (str)) { + gchar *value = NULL; + + mc_account_get_param_string (settings->account, param, &value); + gtk_entry_set_text (GTK_ENTRY (widget), value ? value : ""); + g_free (value); + } else { + mc_account_set_param_string (settings->account, param, str); + } + + return FALSE; +} + +static void +account_widget_jabber_entry_changed_cb (GtkWidget *widget, + GossipAccountWidgetJabber *settings) +{ + if (widget == settings->entry_password) { + const gchar *str; + + str = gtk_entry_get_text (GTK_ENTRY (widget)); + gtk_widget_set_sensitive (settings->button_forget, !G_STR_EMPTY (str)); + } +} + +static void +account_widget_jabber_checkbutton_toggled_cb (GtkWidget *widget, + GossipAccountWidgetJabber *settings) +{ + if (widget == settings->checkbutton_ssl) { + gint port = 0; + gboolean old_ssl; + + mc_account_get_param_int (settings->account, "port", &port); + old_ssl = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); + + if (old_ssl) { + if (port == PORT_WITHOUT_SSL) { + port = PORT_WITH_SSL; + } + } else { + if (port == PORT_WITH_SSL) { + port = PORT_WITHOUT_SSL; + } + } + + mc_account_set_param_int (settings->account, "port", port); + mc_account_set_param_boolean (settings->account, "old-ssl", old_ssl); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (settings->spinbutton_port), port); + } +} + +static void +account_widget_jabber_value_changed_cb (GtkWidget *spinbutton, + GossipAccountWidgetJabber *settings) +{ + if (spinbutton == settings->spinbutton_port) { + gdouble value; + + value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (spinbutton)); + mc_account_set_param_int (settings->account, "port", (gint) value); + } +} + +static void +account_widget_jabber_button_forget_clicked_cb (GtkWidget *button, + GossipAccountWidgetJabber *settings) +{ + mc_account_set_param_string (settings->account, "password", ""); + gtk_entry_set_text (GTK_ENTRY (settings->entry_password), ""); +} + +static void +account_widget_jabber_destroy_cb (GtkWidget *widget, + GossipAccountWidgetJabber *settings) +{ + g_object_unref (settings->account); + g_free (settings); +} + +static void +account_widget_jabber_setup (GossipAccountWidgetJabber *settings) +{ + gint port = 0; + gchar *id = NULL; + gchar *resource = NULL; + gchar *server = NULL; + gchar *password = NULL; + gboolean old_ssl = FALSE; + + mc_account_get_param_int (settings->account, "port", &port); + mc_account_get_param_string (settings->account, "account", &id); + mc_account_get_param_string (settings->account, "resource", &resource); + mc_account_get_param_string (settings->account, "server", &server); + mc_account_get_param_string (settings->account, "password", &password); + mc_account_get_param_boolean (settings->account, "old-ssl", &old_ssl); + + if (!id) { + McProfile *profile; + const gchar *server; + + profile = mc_account_get_profile (settings->account); + server = mc_profile_get_default_account_domain (profile); + if (server) { + id = g_strconcat ("user@", server, NULL); + } + g_object_unref (profile); + } + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (settings->checkbutton_ssl), old_ssl); + gtk_entry_set_text (GTK_ENTRY (settings->entry_id), id ? id : ""); + gtk_entry_set_text (GTK_ENTRY (settings->entry_password), password ? password : ""); + gtk_entry_set_text (GTK_ENTRY (settings->entry_resource), resource ? resource : ""); + gtk_entry_set_text (GTK_ENTRY (settings->entry_server), server ? server : ""); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (settings->spinbutton_port), port); + + gtk_widget_set_sensitive (settings->button_forget, !G_STR_EMPTY (password)); + + g_free (id); + g_free (resource); + g_free (server); + g_free (password); +} + +GtkWidget * +gossip_account_widget_jabber_new (McAccount *account) +{ + GossipAccountWidgetJabber *settings; + GladeXML *glade; + GtkSizeGroup *size_group; + GtkWidget *label_id, *label_password; + GtkWidget *label_server, *label_resource, *label_port; + + settings = g_new0 (GossipAccountWidgetJabber, 1); + settings->account = g_object_ref (account); + + glade = gossip_glade_get_file ("gossip-account-widget-jabber.glade", + "vbox_jabber_settings", + NULL, + "vbox_jabber_settings", &settings->vbox_settings, + "button_forget", &settings->button_forget, + "label_id", &label_id, + "label_password", &label_password, + "label_resource", &label_resource, + "label_server", &label_server, + "label_port", &label_port, + "entry_id", &settings->entry_id, + "entry_password", &settings->entry_password, + "entry_resource", &settings->entry_resource, + "entry_server", &settings->entry_server, + "spinbutton_port", &settings->spinbutton_port, + "checkbutton_ssl", &settings->checkbutton_ssl, + NULL); + + account_widget_jabber_setup (settings); + + gossip_glade_connect (glade, + settings, + "vbox_jabber_settings", "destroy", account_widget_jabber_destroy_cb, + "button_forget", "clicked", account_widget_jabber_button_forget_clicked_cb, + "entry_password", "changed", account_widget_jabber_entry_changed_cb, + "spinbutton_port", "value-changed", account_widget_jabber_value_changed_cb, + "entry_id", "focus-out-event", account_widget_jabber_entry_focus_cb, + "entry_password", "focus-out-event", account_widget_jabber_entry_focus_cb, + "entry_resource", "focus-out-event", account_widget_jabber_entry_focus_cb, + "entry_server", "focus-out-event", account_widget_jabber_entry_focus_cb, + "checkbutton_ssl", "toggled", account_widget_jabber_checkbutton_toggled_cb, + NULL); + + g_object_unref (glade); + + /* Set up remaining widgets */ + size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); + + gtk_size_group_add_widget (size_group, label_id); + gtk_size_group_add_widget (size_group, label_password); + gtk_size_group_add_widget (size_group, label_resource); + gtk_size_group_add_widget (size_group, label_server); + gtk_size_group_add_widget (size_group, label_port); + + g_object_unref (size_group); + + gtk_widget_show (settings->vbox_settings); + + return settings->vbox_settings; +} + diff --git a/trunk/libempathy-gtk/gossip-account-widget-jabber.glade b/trunk/libempathy-gtk/gossip-account-widget-jabber.glade new file mode 100644 index 000000000..12eec7576 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-account-widget-jabber.glade @@ -0,0 +1,335 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkWindow" id="account_jabber_settings"> + <property name="visible">True</property> + <property name="title" translatable="yes">jabber account settings</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">False</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="GtkTable" id="vbox_jabber_settings"> + <property name="n_rows">6</property> + <property name="n_columns">3</property> + <property name="homogeneous">False</property> + <property name="row_spacing">6</property> + <property name="column_spacing">12</property> + + <child> + <widget class="GtkLabel" id="label_id"> + <property name="visible">True</property> + <property name="label" translatable="yes">Login I_D:</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">entry_id</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">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label_password"> + <property name="visible">True</property> + <property name="label" translatable="yes">Pass_word:</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">entry_password</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">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label_resource"> + <property name="visible">True</property> + <property name="label" translatable="yes">Reso_urce:</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">entry_resource</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">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label_server"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Server:</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">entry_server</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">3</property> + <property name="bottom_attach">4</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label_port"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Port:</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">spinbutton_port</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">4</property> + <property name="bottom_attach">5</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="entry_resource"> + <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> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">3</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="entry_server"> + <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> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">3</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="checkbutton_ssl"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Use encryption (SS_L)</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> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">3</property> + <property name="top_attach">5</property> + <property name="bottom_attach">6</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkSpinButton" id="spinbutton_port"> + <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">True</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">5222 0 65556 1 10 10</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">3</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="button_forget"> + <property name="visible">True</property> + <property name="tooltip" translatable="yes">Forget password and clear the entry.</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + + <child> + <widget class="GtkImage" id="image834"> + <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> + <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">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="entry_password"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">False</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> + </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="entry_id"> + <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> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">3</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="y_options"></property> + </packing> + </child> + </widget> + </child> +</widget> + +</glade-interface> diff --git a/trunk/libempathy-gtk/gossip-account-widget-jabber.h b/trunk/libempathy-gtk/gossip-account-widget-jabber.h new file mode 100644 index 000000000..0a967f7b6 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-account-widget-jabber.h @@ -0,0 +1,34 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_ACCOUNT_WIDGET_JABBER_H__ +#define __GOSSIP_ACCOUNT_WIDGET_JABBER_H__ + +#include <libmissioncontrol/mc-account.h> + +G_BEGIN_DECLS + +GtkWidget *gossip_account_widget_jabber_new (McAccount *account); + +G_END_DECLS + +#endif /* __GOSSIP_ACCOUNT_WIDGET_JABBER_H__ */ diff --git a/trunk/libempathy-gtk/gossip-accounts-dialog.c b/trunk/libempathy-gtk/gossip-accounts-dialog.c new file mode 100644 index 000000000..2a3a92764 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-accounts-dialog.c @@ -0,0 +1,1038 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <string.h> +#include <stdlib.h> + +#include <gtk/gtk.h> +#include <glade/glade.h> +#include <glib/gi18n.h> +#include <dbus/dbus-glib.h> + +#include <libmissioncontrol/mc-account.h> +#include <libmissioncontrol/mc-profile.h> +#include <libmissioncontrol/mission-control.h> +#include <libmissioncontrol/mc-account-monitor.h> +#include <libtelepathy/tp-constants.h> + +#include <libempathy/gossip-debug.h> +#include <libempathy/gossip-paths.h> +#include <libempathy/gossip-utils.h> +#include <libempathy-gtk/gossip-ui-utils.h> + +#include "gossip-accounts-dialog.h" +#include "gossip-profile-chooser.h" +#include "gossip-account-widget-generic.h" +#include "gossip-account-widget-jabber.h" + +#define DEBUG_DOMAIN "AccountDialog" + +/* Flashing delay for icons (milliseconds). */ +#define FLASH_TIMEOUT 500 + +typedef struct { + GtkWidget *window; + + GtkWidget *alignment_settings; + + GtkWidget *vbox_details; + GtkWidget *frame_no_account; + GtkWidget *label_no_account; + GtkWidget *label_no_account_blurb; + + GtkWidget *treeview; + + GtkWidget *button_remove; + GtkWidget *button_connect; + + GtkWidget *frame_new_account; + GtkWidget *combobox_profile; + GtkWidget *entry_name; + GtkWidget *table_new_account; + GtkWidget *button_create; + GtkWidget *button_back; + + GtkWidget *image_type; + GtkWidget *label_name; + GtkWidget *label_type; + GtkWidget *settings_widget; + + gboolean connecting_show; + guint connecting_id; + gboolean account_changed; + + MissionControl *mc; + McAccountMonitor *monitor; +} GossipAccountsDialog; + +enum { + COL_NAME, + COL_STATUS, + COL_ACCOUNT_POINTER, + COL_COUNT +}; + +static void accounts_dialog_setup (GossipAccountsDialog *dialog); +static void accounts_dialog_update_account (GossipAccountsDialog *dialog, + McAccount *account); +static void accounts_dialog_model_setup (GossipAccountsDialog *dialog); +static void accounts_dialog_model_add_columns (GossipAccountsDialog *dialog); +static void accounts_dialog_model_select_first (GossipAccountsDialog *dialog); +static void accounts_dialog_model_pixbuf_data_func (GtkTreeViewColumn *tree_column, + GtkCellRenderer *cell, + GtkTreeModel *model, + GtkTreeIter *iter, + GossipAccountsDialog *dialog); +static McAccount *accounts_dialog_model_get_selected (GossipAccountsDialog *dialog); +static void accounts_dialog_model_set_selected (GossipAccountsDialog *dialog, + McAccount *account); +static gboolean accounts_dialog_model_remove_selected (GossipAccountsDialog *dialog); +static void accounts_dialog_model_selection_changed (GtkTreeSelection *selection, + GossipAccountsDialog *dialog); +static void accounts_dialog_add_account (GossipAccountsDialog *dialog, + McAccount *account); +static void accounts_dialog_account_added_cb (McAccountMonitor *monitor, + gchar *unique_name, + GossipAccountsDialog *dialog); +static void accounts_dialog_account_removed_cb (McAccountMonitor *monitor, + gchar *unique_name, + GossipAccountsDialog *dialog); +static gboolean accounts_dialog_row_changed_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer user_data); +static gboolean accounts_dialog_flash_connecting_cb (GossipAccountsDialog *dialog); +static void accounts_dialog_status_changed_cb (MissionControl *mc, + TelepathyConnectionStatus status, + McPresence presence, + TelepathyConnectionStatusReason reason, + const gchar *unique_name, + GossipAccountsDialog *dialog); +static void accounts_dialog_entry_name_changed_cb (GtkWidget *widget, + GossipAccountsDialog *dialog); +static void accounts_dialog_button_create_clicked_cb (GtkWidget *button, + GossipAccountsDialog *dialog); +static void accounts_dialog_button_back_clicked_cb (GtkWidget *button, + GossipAccountsDialog *dialog); +static void accounts_dialog_button_connect_clicked_cb (GtkWidget *button, + GossipAccountsDialog *dialog); +static void accounts_dialog_button_add_clicked_cb (GtkWidget *button, + GossipAccountsDialog *dialog); +static void accounts_dialog_remove_response_cb (GtkWidget *dialog, + gint response, + McAccount *account); +static void accounts_dialog_button_remove_clicked_cb (GtkWidget *button, + GossipAccountsDialog *dialog); +static void accounts_dialog_treeview_row_activated_cb (GtkTreeView *tree_view, + GtkTreePath *path, + GtkTreeViewColumn *column, + GossipAccountsDialog *dialog); +static void accounts_dialog_response_cb (GtkWidget *widget, + gint response, + GossipAccountsDialog *dialog); +static void accounts_dialog_destroy_cb (GtkWidget *widget, + GossipAccountsDialog *dialog); + +static void +accounts_dialog_setup (GossipAccountsDialog *dialog) +{ + GtkTreeView *view; + GtkListStore *store; + GtkTreeSelection *selection; + GtkTreeIter iter; + GList *accounts, *l; + + view = GTK_TREE_VIEW (dialog->treeview); + store = GTK_LIST_STORE (gtk_tree_view_get_model (view)); + selection = gtk_tree_view_get_selection (view); + + accounts = mc_accounts_list (); + + for (l = accounts; l; l = l->next) { + McAccount *account; + const gchar *name; + TelepathyConnectionStatus status; + + account = l->data; + + name = mc_account_get_display_name (account); + if (!name) { + continue; + } + + status = mission_control_get_connection_status (dialog->mc, account, NULL); + + gtk_list_store_insert_with_values (store, &iter, + -1, + COL_NAME, name, + COL_STATUS, status, + COL_ACCOUNT_POINTER, account, + -1); + + accounts_dialog_status_changed_cb (dialog->mc, + status, + MC_PRESENCE_UNSET, + TP_CONN_STATUS_REASON_NONE_SPECIFIED, + mc_account_get_unique_name (account), + dialog); + + g_object_unref (account); + } + + g_list_free (accounts); +} + +static void +accounts_dialog_update_connect_button (GossipAccountsDialog *dialog) +{ + McAccount *account; + GtkWidget *image; + const gchar *stock_id; + const gchar *label; + + account = accounts_dialog_model_get_selected (dialog); + + if (!account) { + gtk_widget_set_sensitive (dialog->button_connect, FALSE); + return; + } + + if (mc_account_is_enabled (account)) { + label = _("Disable"); + stock_id = GTK_STOCK_DISCONNECT; + } else { + label = _("Enable"); + stock_id = GTK_STOCK_CONNECT; + } + + image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_BUTTON); + + gtk_button_set_label (GTK_BUTTON (dialog->button_connect), label); + gtk_button_set_image (GTK_BUTTON (dialog->button_connect), image); +} + +static void +accounts_dialog_update_account (GossipAccountsDialog *dialog, + McAccount *account) +{ + if (dialog->settings_widget) { + gtk_widget_destroy (dialog->settings_widget); + dialog->settings_widget = NULL; + } + + if (!account) { + GtkTreeView *view; + GtkTreeModel *model; + + gtk_widget_show (dialog->frame_no_account); + gtk_widget_hide (dialog->vbox_details); + + gtk_widget_set_sensitive (dialog->button_connect, FALSE); + gtk_widget_set_sensitive (dialog->button_remove, FALSE); + + view = GTK_TREE_VIEW (dialog->treeview); + model = gtk_tree_view_get_model (view); + + if (gtk_tree_model_iter_n_children (model, NULL) > 0) { + gtk_label_set_markup (GTK_LABEL (dialog->label_no_account), + _("<b>No Account Selected</b>")); + gtk_label_set_markup (GTK_LABEL (dialog->label_no_account_blurb), + _("To add a new account, you can click on the " + "'Add' button and a new entry will be created " + "for you to start configuring.\n" + "\n" + "If you do not want to add an account, simply " + "click on the account you want to configure in " + "the list on the left.")); + } else { + gtk_label_set_markup (GTK_LABEL (dialog->label_no_account), + _("<b>No Accounts Configured</b>")); + gtk_label_set_markup (GTK_LABEL (dialog->label_no_account_blurb), + _("To add a new account, you can click on the " + "'Add' button and a new entry will be created " + "for you to start configuring.")); + } + } else { + McProfile *profile; + const gchar *config_ui; + + gtk_widget_hide (dialog->frame_no_account); + gtk_widget_show (dialog->vbox_details); + + profile = mc_account_get_profile (account); + config_ui = mc_profile_get_configuration_ui (profile); + + if (strcmp (config_ui, "jabber") == 0) { + dialog->settings_widget = + gossip_account_widget_jabber_new (account); + } else { + dialog->settings_widget = + gossip_account_widget_generic_new (account, + dialog->label_name); + } + + gtk_widget_grab_focus (dialog->settings_widget); + } + + if (dialog->settings_widget) { + gtk_container_add (GTK_CONTAINER (dialog->alignment_settings), + dialog->settings_widget); + } + + if (account) { + McProfile *profile; + + profile = mc_account_get_profile (account); + gtk_image_set_from_icon_name (GTK_IMAGE (dialog->image_type), + mc_profile_get_icon_name (profile), + GTK_ICON_SIZE_DIALOG); + + + gtk_label_set_text (GTK_LABEL (dialog->label_type), + mc_profile_get_display_name (profile)); + gtk_label_set_text (GTK_LABEL (dialog->label_name), + mc_account_get_display_name (account)); + } +} + +static void +accounts_dialog_model_setup (GossipAccountsDialog *dialog) +{ + GtkListStore *store; + GtkTreeSelection *selection; + + store = gtk_list_store_new (COL_COUNT, + G_TYPE_STRING, /* name */ + G_TYPE_UINT, /* status */ + MC_TYPE_ACCOUNT); /* account */ + + gtk_tree_view_set_model (GTK_TREE_VIEW (dialog->treeview), + GTK_TREE_MODEL (store)); + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->treeview)); + gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); + + g_signal_connect (selection, "changed", + G_CALLBACK (accounts_dialog_model_selection_changed), + dialog); + + gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), + COL_NAME, GTK_SORT_ASCENDING); + + accounts_dialog_model_add_columns (dialog); + + g_object_unref (store); +} + +static void +accounts_dialog_model_add_columns (GossipAccountsDialog *dialog) +{ + GtkTreeView *view; + GtkTreeViewColumn *column; + GtkCellRenderer *cell; + + view = GTK_TREE_VIEW (dialog->treeview); + gtk_tree_view_set_headers_visible (view, TRUE); + + /* account name/status */ + column = gtk_tree_view_column_new (); + gtk_tree_view_column_set_title (column, _("Accounts")); + + cell = gtk_cell_renderer_pixbuf_new (); + gtk_tree_view_column_pack_start (column, cell, FALSE); + gtk_tree_view_column_set_cell_data_func (column, cell, + (GtkTreeCellDataFunc) + accounts_dialog_model_pixbuf_data_func, + dialog, + NULL); + + cell = gtk_cell_renderer_text_new (); + g_object_set (cell, "ellipsize", PANGO_ELLIPSIZE_END, NULL); + gtk_tree_view_column_pack_start (column, cell, TRUE); + gtk_tree_view_column_add_attribute (column, + cell, + "text", COL_NAME); + + gtk_tree_view_column_set_expand (column, TRUE); + gtk_tree_view_append_column (view, column); +} + +static void +accounts_dialog_model_select_first (GossipAccountsDialog *dialog) +{ + GtkTreeView *view; + GtkTreeModel *model; + GtkTreeSelection *selection; + GtkTreeIter iter; + + /* select first */ + view = GTK_TREE_VIEW (dialog->treeview); + model = gtk_tree_view_get_model (view); + + if (gtk_tree_model_get_iter_first (model, &iter)) { + selection = gtk_tree_view_get_selection (view); + gtk_tree_selection_select_iter (selection, &iter); + } else { + accounts_dialog_update_account (dialog, NULL); + } +} + +static void +accounts_dialog_model_pixbuf_data_func (GtkTreeViewColumn *tree_column, + GtkCellRenderer *cell, + GtkTreeModel *model, + GtkTreeIter *iter, + GossipAccountsDialog *dialog) +{ + McAccount *account; + const gchar *icon_name; + GdkPixbuf *pixbuf; + TelepathyConnectionStatus status; + + gtk_tree_model_get (model, iter, + COL_STATUS, &status, + COL_ACCOUNT_POINTER, &account, + -1); + + icon_name = gossip_icon_name_from_account (account); + pixbuf = gossip_pixbuf_from_icon_name (icon_name, GTK_ICON_SIZE_BUTTON); + + if (pixbuf) { + if (status == TP_CONN_STATUS_DISCONNECTED || + (status == TP_CONN_STATUS_CONNECTING && + !dialog->connecting_show)) { + GdkPixbuf *modded_pixbuf; + + modded_pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, + TRUE, + 8, + gdk_pixbuf_get_width (pixbuf), + gdk_pixbuf_get_height (pixbuf)); + + gdk_pixbuf_saturate_and_pixelate (pixbuf, + modded_pixbuf, + 1.0, + TRUE); + g_object_unref (pixbuf); + pixbuf = modded_pixbuf; + } + } + + g_object_set (cell, + "visible", TRUE, + "pixbuf", pixbuf, + NULL); + + g_object_unref (account); + if (pixbuf) { + g_object_unref (pixbuf); + } +} + +static McAccount * +accounts_dialog_model_get_selected (GossipAccountsDialog *dialog) +{ + GtkTreeView *view; + GtkTreeModel *model; + GtkTreeSelection *selection; + GtkTreeIter iter; + McAccount *account; + + view = GTK_TREE_VIEW (dialog->treeview); + selection = gtk_tree_view_get_selection (view); + + if (!gtk_tree_selection_get_selected (selection, &model, &iter)) { + return NULL; + } + + gtk_tree_model_get (model, &iter, COL_ACCOUNT_POINTER, &account, -1); + + return account; +} + +static void +accounts_dialog_model_set_selected (GossipAccountsDialog *dialog, + McAccount *account) +{ + GtkTreeView *view; + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkTreeIter iter; + gboolean ok; + + view = GTK_TREE_VIEW (dialog->treeview); + model = gtk_tree_view_get_model (view); + selection = gtk_tree_view_get_selection (view); + + for (ok = gtk_tree_model_get_iter_first (model, &iter); + ok; + ok = gtk_tree_model_iter_next (model, &iter)) { + McAccount *this_account; + gboolean equal; + + gtk_tree_model_get (model, &iter, + COL_ACCOUNT_POINTER, &this_account, + -1); + + equal = gossip_account_equal (this_account, account); + g_object_unref (this_account); + + if (equal) { + gtk_tree_selection_select_iter (selection, &iter); + break; + } + } +} + +static gboolean +accounts_dialog_model_remove_selected (GossipAccountsDialog *dialog) +{ + GtkTreeView *view; + GtkTreeModel *model; + GtkTreeSelection *selection; + GtkTreeIter iter; + + view = GTK_TREE_VIEW (dialog->treeview); + selection = gtk_tree_view_get_selection (view); + + if (!gtk_tree_selection_get_selected (selection, &model, &iter)) { + return FALSE; + } + + return gtk_list_store_remove (GTK_LIST_STORE (model), &iter); +} + +static void +accounts_dialog_model_selection_changed (GtkTreeSelection *selection, + GossipAccountsDialog *dialog) +{ + McAccount *account; + GtkTreeModel *model; + GtkTreeIter iter; + gboolean is_selection; + + is_selection = gtk_tree_selection_get_selected (selection, &model, &iter); + + gtk_widget_set_sensitive (dialog->button_remove, is_selection); + gtk_widget_set_sensitive (dialog->button_connect, is_selection); + + accounts_dialog_update_connect_button (dialog); + + account = accounts_dialog_model_get_selected (dialog); + accounts_dialog_update_account (dialog, account); + + if (account) { + g_object_unref (account); + } +} + +static void +accounts_dialog_add_account (GossipAccountsDialog *dialog, + McAccount *account) +{ + TelepathyConnectionStatus status; + const gchar *name; + GtkTreeView *view; + GtkTreeModel *model; + GtkListStore *store; + GtkTreeIter iter; + gboolean ok; + + view = GTK_TREE_VIEW (dialog->treeview); + model = gtk_tree_view_get_model (view); + store = GTK_LIST_STORE (model); + + for (ok = gtk_tree_model_get_iter_first (model, &iter); + ok; + ok = gtk_tree_model_iter_next (model, &iter)) { + McAccount *this_account; + gboolean equal; + + gtk_tree_model_get (model, &iter, + COL_ACCOUNT_POINTER, &this_account, + -1); + + equal = gossip_account_equal (this_account, account); + g_object_unref (this_account); + + if (equal) { + return; + } + } + + status = mission_control_get_connection_status (dialog->mc, account, NULL); + name = mc_account_get_display_name (account); + + g_return_if_fail (name != NULL); + + gossip_debug (DEBUG_DOMAIN, "Adding new account: %s", name); + + gtk_list_store_insert_with_values (store, &iter, + -1, + COL_NAME, name, + COL_STATUS, status, + COL_ACCOUNT_POINTER, account, + -1); +} + +static void +accounts_dialog_account_added_cb (McAccountMonitor *monitor, + gchar *unique_name, + GossipAccountsDialog *dialog) +{ + McAccount *account; + + account = mc_account_lookup (unique_name); + accounts_dialog_add_account (dialog, account); + g_object_unref (account); +} + +static void +accounts_dialog_account_removed_cb (McAccountMonitor *monitor, + gchar *unique_name, + GossipAccountsDialog *dialog) +{ + McAccount *account; + + account = mc_account_lookup (unique_name); + + accounts_dialog_model_set_selected (dialog, account); + accounts_dialog_model_remove_selected (dialog); + + g_object_unref (account); +} + +static gboolean +accounts_dialog_row_changed_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer user_data) +{ + gtk_tree_model_row_changed (model, path, iter); + + return FALSE; +} + +static gboolean +accounts_dialog_flash_connecting_cb (GossipAccountsDialog *dialog) +{ + GtkTreeView *view; + GtkTreeModel *model; + + dialog->connecting_show = !dialog->connecting_show; + + view = GTK_TREE_VIEW (dialog->treeview); + model = gtk_tree_view_get_model (view); + + gtk_tree_model_foreach (model, accounts_dialog_row_changed_foreach, NULL); + + return TRUE; +} + +static void +accounts_dialog_status_changed_cb (MissionControl *mc, + TelepathyConnectionStatus status, + McPresence presence, + TelepathyConnectionStatusReason reason, + const gchar *unique_name, + GossipAccountsDialog *dialog) +{ + GtkTreeView *view; + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkTreeIter iter; + gboolean ok; + McAccount *account; + GList *accounts, *l; + gboolean found = FALSE; + + /* Update the status in the model */ + view = GTK_TREE_VIEW (dialog->treeview); + selection = gtk_tree_view_get_selection (view); + model = gtk_tree_view_get_model (view); + account = mc_account_lookup (unique_name); + + gossip_debug (DEBUG_DOMAIN, "Status changed for account %s: " + "status=%d presence=%d", + unique_name, status, presence); + + for (ok = gtk_tree_model_get_iter_first (model, &iter); + ok; + ok = gtk_tree_model_iter_next (model, &iter)) { + McAccount *this_account; + gboolean equal; + + gtk_tree_model_get (model, &iter, + COL_ACCOUNT_POINTER, &this_account, + -1); + + equal = gossip_account_equal (this_account, account); + g_object_unref (this_account); + + if (equal) { + GtkTreePath *path; + + gtk_list_store_set (GTK_LIST_STORE (model), &iter, + COL_STATUS, status, + -1); + + path = gtk_tree_model_get_path (model, &iter); + gtk_tree_model_row_changed (model, path, &iter); + gtk_tree_path_free (path); + + break; + } + } + + g_object_unref (account); + + /* Start to flash account if status is connecting */ + if (status == TP_CONN_STATUS_CONNECTING) { + if (!dialog->connecting_id) { + dialog->connecting_id = g_timeout_add (FLASH_TIMEOUT, + (GSourceFunc) accounts_dialog_flash_connecting_cb, + dialog); + } + + return; + } + + /* Stop to flash if no account is connecting */ + accounts = mc_accounts_list (); + for (l = accounts; l; l = l->next) { + McAccount *this_account; + + this_account = l->data; + + if (mission_control_get_connection_status (mc, this_account, NULL) == TP_CONN_STATUS_CONNECTING) { + found = TRUE; + break; + } + + g_object_unref (this_account); + } + g_list_free (accounts); + + if (!found && dialog->connecting_id) { + g_source_remove (dialog->connecting_id); + dialog->connecting_id = 0; + } + + gtk_widget_show (dialog->window); +} + +static void +accounts_dialog_entry_name_changed_cb (GtkWidget *widget, + GossipAccountsDialog *dialog) +{ + const gchar *str; + + str = gtk_entry_get_text (GTK_ENTRY (widget)); + gtk_widget_set_sensitive (dialog->button_create, !G_STR_EMPTY (str)); +} + +static void +accounts_dialog_button_create_clicked_cb (GtkWidget *button, + GossipAccountsDialog *dialog) +{ + McProfile *profile; + McAccount *account; + const gchar *str; + + /* Update widgets */ + gtk_widget_show (dialog->vbox_details); + gtk_widget_hide (dialog->frame_no_account); + gtk_widget_hide (dialog->frame_new_account); + + profile = gossip_profile_chooser_get_selected (dialog->combobox_profile); + + /* Create account */ + account = mc_account_create (profile); + + str = gtk_entry_get_text (GTK_ENTRY (dialog->entry_name)); + mc_account_set_display_name (account, str); + + accounts_dialog_add_account (dialog, account); + accounts_dialog_model_set_selected (dialog, account); + + g_object_unref (account); + g_object_unref (profile); +} + +static void +accounts_dialog_button_back_clicked_cb (GtkWidget *button, + GossipAccountsDialog *dialog) +{ + McAccount *account; + + gtk_widget_hide (dialog->vbox_details); + gtk_widget_hide (dialog->frame_no_account); + gtk_widget_hide (dialog->frame_new_account); + + account = accounts_dialog_model_get_selected (dialog); + accounts_dialog_update_account (dialog, account); +} + +static void +accounts_dialog_button_connect_clicked_cb (GtkWidget *button, + GossipAccountsDialog *dialog) +{ + McAccount *account; + gboolean enable; + + account = accounts_dialog_model_get_selected (dialog); + enable = (!mc_account_is_enabled (account)); + mc_account_set_enabled (account, enable); + accounts_dialog_update_connect_button (dialog); + + g_object_unref (account); +} + +static void +accounts_dialog_button_add_clicked_cb (GtkWidget *button, + GossipAccountsDialog *dialog) +{ + gtk_widget_hide (dialog->vbox_details); + gtk_widget_hide (dialog->frame_no_account); + gtk_widget_show (dialog->frame_new_account); + + gtk_combo_box_set_active (GTK_COMBO_BOX (dialog->combobox_profile), 0); + gtk_entry_set_text (GTK_ENTRY (dialog->entry_name), ""); + gtk_widget_grab_focus (dialog->entry_name); +} + +static void +accounts_dialog_remove_response_cb (GtkWidget *dialog, + gint response, + McAccount *account) +{ + if (response == GTK_RESPONSE_YES) { + mc_account_delete (account); + } + + gtk_widget_destroy (dialog); +} + +static void +accounts_dialog_button_remove_clicked_cb (GtkWidget *button, + GossipAccountsDialog *dialog) +{ + McAccount *account; + GtkWidget *message_dialog; + + account = accounts_dialog_model_get_selected (dialog); + + if (!mc_account_is_complete (account)) { + accounts_dialog_model_remove_selected (dialog); + return; + } + message_dialog = gtk_message_dialog_new + (GTK_WINDOW (dialog->window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_QUESTION, + GTK_BUTTONS_NONE, + _("You are about to remove your %s account!\n" + "Are you sure you want to proceed?"), + mc_account_get_display_name (account)); + + gtk_message_dialog_format_secondary_text + (GTK_MESSAGE_DIALOG (message_dialog), + _("Any associated conversations and chat rooms will NOT be " + "removed if you decide to proceed.\n" + "\n" + "Should you decide to add the account back at a later time, " + "they will still be available.")); + + gtk_dialog_add_button (GTK_DIALOG (message_dialog), + GTK_STOCK_CANCEL, + GTK_RESPONSE_NO); + gtk_dialog_add_button (GTK_DIALOG (message_dialog), + GTK_STOCK_REMOVE, + GTK_RESPONSE_YES); + + g_signal_connect (message_dialog, "response", + G_CALLBACK (accounts_dialog_remove_response_cb), + account); + + gtk_widget_show (message_dialog); +} + +static void +accounts_dialog_treeview_row_activated_cb (GtkTreeView *tree_view, + GtkTreePath *path, + GtkTreeViewColumn *column, + GossipAccountsDialog *dialog) +{ + + accounts_dialog_button_connect_clicked_cb (dialog->button_connect, + dialog); +} + +static void +accounts_dialog_response_cb (GtkWidget *widget, + gint response, + GossipAccountsDialog *dialog) +{ + gtk_widget_destroy (widget); +} + +static void +accounts_dialog_destroy_cb (GtkWidget *widget, + GossipAccountsDialog *dialog) +{ + GList *accounts, *l; + + /* Disconnect signals */ + g_signal_handlers_disconnect_by_func (dialog->monitor, + accounts_dialog_account_added_cb, + dialog); + g_signal_handlers_disconnect_by_func (dialog->monitor, + accounts_dialog_account_removed_cb, + dialog); + dbus_g_proxy_disconnect_signal (DBUS_G_PROXY (dialog->mc), + "AccountStatusChanged", + G_CALLBACK (accounts_dialog_status_changed_cb), + dialog); + + /* Delete incomplete accounts */ + accounts = mc_accounts_list (); + for (l = accounts; l; l = l->next) { + McAccount *account; + + account = l->data; + if (!mc_account_is_complete (account)) { + /* FIXME: Warn the user the account is not complete + * and is going to be removed. */ + mc_account_delete (account); + } + + g_object_unref (account); + } + g_list_free (accounts); + + if (dialog->connecting_id) { + g_source_remove (dialog->connecting_id); + } + + g_object_unref (dialog->mc); + g_object_unref (dialog->monitor); + + g_free (dialog); +} + +GtkWidget * +gossip_accounts_dialog_show (GtkWindow *parent) +{ + static GossipAccountsDialog *dialog = NULL; + GladeXML *glade; + GtkWidget *bbox; + GtkWidget *button_close; + + if (dialog) { + gtk_window_present (GTK_WINDOW (dialog->window)); + return dialog->window; + } + + dialog = g_new0 (GossipAccountsDialog, 1); + + glade = gossip_glade_get_file ("gossip-accounts-dialog.glade", + "accounts_dialog", + NULL, + "accounts_dialog", &dialog->window, + "vbox_details", &dialog->vbox_details, + "frame_no_account", &dialog->frame_no_account, + "label_no_account", &dialog->label_no_account, + "label_no_account_blurb", &dialog->label_no_account_blurb, + "alignment_settings", &dialog->alignment_settings, + "dialog-action_area", &bbox, + "treeview", &dialog->treeview, + "frame_new_account", &dialog->frame_new_account, + "entry_name", &dialog->entry_name, + "table_new_account", &dialog->table_new_account, + "button_create", &dialog->button_create, + "button_back", &dialog->button_back, + "image_type", &dialog->image_type, + "label_type", &dialog->label_type, + "label_name", &dialog->label_name, + "button_remove", &dialog->button_remove, + "button_connect", &dialog->button_connect, + "button_close", &button_close, + NULL); + + gossip_glade_connect (glade, + dialog, + "accounts_dialog", "destroy", accounts_dialog_destroy_cb, + "accounts_dialog", "response", accounts_dialog_response_cb, + "button_create", "clicked", accounts_dialog_button_create_clicked_cb, + "button_back", "clicked", accounts_dialog_button_back_clicked_cb, + "entry_name", "changed", accounts_dialog_entry_name_changed_cb, + "treeview", "row-activated", accounts_dialog_treeview_row_activated_cb, + "button_connect", "clicked", accounts_dialog_button_connect_clicked_cb, + "button_add", "clicked", accounts_dialog_button_add_clicked_cb, + "button_remove", "clicked", accounts_dialog_button_remove_clicked_cb, + NULL); + + g_object_add_weak_pointer (G_OBJECT (dialog->window), (gpointer) &dialog); + + g_object_unref (glade); + + /* Create profile chooser */ + dialog->combobox_profile = gossip_profile_chooser_new (); + gtk_table_attach_defaults (GTK_TABLE (dialog->table_new_account), + dialog->combobox_profile, + 1, 2, + 0, 1); + gtk_widget_show (dialog->combobox_profile); + + /* Set up signalling */ + dialog->mc = gossip_mission_control_new (); + dialog->monitor = mc_account_monitor_new (); + + /* FIXME: connect account-enabled/disabled too */ + g_signal_connect (dialog->monitor, "account-created", + G_CALLBACK (accounts_dialog_account_added_cb), + dialog); + g_signal_connect (dialog->monitor, "account-deleted", + G_CALLBACK (accounts_dialog_account_removed_cb), + dialog); + dbus_g_proxy_connect_signal (DBUS_G_PROXY (dialog->mc), "AccountStatusChanged", + G_CALLBACK (accounts_dialog_status_changed_cb), + dialog, NULL); + + accounts_dialog_model_setup (dialog); + accounts_dialog_setup (dialog); + accounts_dialog_model_select_first (dialog); + + if (parent) { + gtk_window_set_transient_for (GTK_WINDOW (dialog->window), + GTK_WINDOW (parent)); + } + + gtk_widget_show (dialog->window); + + return dialog->window; +} + diff --git a/trunk/libempathy-gtk/gossip-accounts-dialog.glade b/trunk/libempathy-gtk/gossip-accounts-dialog.glade new file mode 100644 index 000000000..58c94e694 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-accounts-dialog.glade @@ -0,0 +1,757 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkDialog" id="accounts_dialog"> + <property name="border_width">5</property> + <property name="title" translatable="yes">Accounts</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="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_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <property name="has_separator">False</property> + + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog-vbox3"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">2</property> + + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="button_close"> + <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> + <property name="response_id">-6</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox146"> + <property name="border_width">6</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">18</property> + + <child> + <widget class="GtkVBox" id="vbox195"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow17"> + <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="treeview"> + <property name="height_request">200</property> + <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">False</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="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox196"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkButton" id="button_connect"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-connect</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</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="hbox148"> + <property name="visible">True</property> + <property name="homogeneous">True</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkButton" id="button_add"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-add</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">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="button_remove"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-remove</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + </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> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox214"> + <property name="width_request">415</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">18</property> + + <child> + <widget class="GtkVBox" id="vbox_details"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">18</property> + + <child> + <widget class="GtkFrame" id="frame1"> + <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="alignment7"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">20</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkVBox" id="vbox213"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkTable" id="table14"> + <property name="visible">True</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="homogeneous">False</property> + <property name="row_spacing">6</property> + <property name="column_spacing">6</property> + + <child> + <widget class="GtkImage" id="image_type"> + <property name="visible">True</property> + <property name="stock">gtk-cut</property> + <property name="icon_size">6</property> + <property name="xalign">0.5</property> + <property name="yalign">0</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">0</property> + <property name="bottom_attach">2</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label_name"> + <property name="visible">True</property> + <property name="label" translatable="yes">Imendio </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">0</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="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label_type"> + <property name="visible">True</property> + <property name="label" translatable="yes">Jabber</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">0</property> + <property name="right_attach">1</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="y_options"></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="label598"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Account</b></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="frame2"> + <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_settings"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">20</property> + <property name="right_padding">0</property> + + <child> + <placeholder/> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label599"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Settings</b></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="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkFrame" id="frame_new_account"> + <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="alignment29"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">20</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkVBox" id="vbox216"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkTable" id="table_new_account"> + <property name="visible">True</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="homogeneous">False</property> + <property name="row_spacing">6</property> + <property name="column_spacing">6</property> + + <child> + <widget class="GtkLabel" id="label640"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Type:</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="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> + + <child> + <widget class="GtkLabel" id="label638"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Name:</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">entry_name</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="GtkEntry" id="entry_name"> + <property name="visible">True</property> + <property name="tooltip" translatable="yes">A unique name for this account to identify it personally to you.</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> + </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> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox181"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkButton" id="button_create"> + <property name="visible">True</property> + <property name="sensitive">False</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="alignment1"> + <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="hbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">2</property> + + <child> + <widget class="GtkImage" id="image1"> + <property name="visible">True</property> + <property name="stock">gtk-new</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="label1"> + <property name="visible">True</property> + <property name="label" translatable="yes">Cr_eate</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> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="button_back"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-go-back</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label643"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>New Account</b></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">True</property> + </packing> + </child> + + <child> + <widget class="GtkFrame" id="frame_no_account"> + <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="alignment21"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkLabel" id="label_no_account_blurb"> + <property name="visible">True</property> + <property name="label" translatable="yes">To add a new account, you can click on the 'Add' button and a new entry will be created for you to started configuring. + +If you do not want to add an account, simply click on the account you want to configure in the list on the left.</property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">True</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> + </child> + + <child> + <widget class="GtkLabel" id="label_no_account"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>No Account Selected</b></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="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> + </child> +</widget> + +</glade-interface> diff --git a/trunk/libempathy-gtk/gossip-accounts-dialog.h b/trunk/libempathy-gtk/gossip-accounts-dialog.h new file mode 100644 index 000000000..5b058e6a4 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-accounts-dialog.h @@ -0,0 +1,35 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + */ + +#ifndef __GOSSIP_ACCOUNTS_DIALOG_H__ +#define __GOSSIP_ACCOUNTS_DIALOG_H__ + +#include <gtk/gtkwidget.h> + +G_BEGIN_DECLS + +GtkWidget *gossip_accounts_dialog_show (GtkWindow *parent); + +G_END_DECLS + +#endif /* __GOSSIP_ACCOUNTS_DIALOG_H__ */ diff --git a/trunk/libempathy-gtk/gossip-cell-renderer-expander.c b/trunk/libempathy-gtk/gossip-cell-renderer-expander.c new file mode 100644 index 000000000..e116ace7b --- /dev/null +++ b/trunk/libempathy-gtk/gossip-cell-renderer-expander.c @@ -0,0 +1,482 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006-2007 Imendio AB + * + * 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. + * + * Authors: Kristian Rietveld <kris@imendio.com> + */ + +/* To do: + * - should probably cancel animation if model changes + * - need to handle case where node-in-animation is removed + * - it only handles a single animation at a time; but I guess users + * aren't fast enough to trigger two or more animations at once anyway :P + * (could guard for this by just cancelling the "old" animation, and + * start the new one). + */ + +#include <gtk/gtktreeview.h> + +#include "gossip-cell-renderer-expander.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_CELL_RENDERER_EXPANDER, GossipCellRendererExpanderPriv)) + +static void gossip_cell_renderer_expander_init (GossipCellRendererExpander *expander); +static void gossip_cell_renderer_expander_class_init (GossipCellRendererExpanderClass *klass); +static void gossip_cell_renderer_expander_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec); +static void gossip_cell_renderer_expander_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec); +static void gossip_cell_renderer_expander_finalize (GObject *object); +static void gossip_cell_renderer_expander_get_size (GtkCellRenderer *cell, + GtkWidget *widget, + GdkRectangle *cell_area, + gint *x_offset, + gint *y_offset, + gint *width, + gint *height); +static void gossip_cell_renderer_expander_render (GtkCellRenderer *cell, + GdkWindow *window, + GtkWidget *widget, + GdkRectangle *background_area, + GdkRectangle *cell_area, + GdkRectangle *expose_area, + GtkCellRendererState flags); +static gboolean gossip_cell_renderer_expander_activate (GtkCellRenderer *cell, + GdkEvent *event, + GtkWidget *widget, + const gchar *path, + GdkRectangle *background_area, + GdkRectangle *cell_area, + GtkCellRendererState flags); + +enum { + PROP_0, + PROP_EXPANDER_STYLE, + PROP_EXPANDER_SIZE, + PROP_ACTIVATABLE +}; + +typedef struct _GossipCellRendererExpanderPriv GossipCellRendererExpanderPriv; + +struct _GossipCellRendererExpanderPriv { + GtkExpanderStyle expander_style; + gint expander_size; + + GtkTreeView *animation_view; + GtkTreeRowReference *animation_node; + GtkExpanderStyle animation_style; + guint animation_timeout; + GdkRectangle animation_area; + + guint activatable : 1; + guint animation_expanding : 1; +}; + +G_DEFINE_TYPE (GossipCellRendererExpander, gossip_cell_renderer_expander, GTK_TYPE_CELL_RENDERER) + +static void +gossip_cell_renderer_expander_init (GossipCellRendererExpander *expander) +{ + GossipCellRendererExpanderPriv *priv; + + priv = GET_PRIV (expander); + + priv->expander_style = GTK_EXPANDER_COLLAPSED; + priv->expander_size = 12; + priv->activatable = TRUE; + priv->animation_node = NULL; + + GTK_CELL_RENDERER (expander)->xpad = 2; + GTK_CELL_RENDERER (expander)->ypad = 2; + GTK_CELL_RENDERER (expander)->mode = GTK_CELL_RENDERER_MODE_ACTIVATABLE; +} + +static void +gossip_cell_renderer_expander_class_init (GossipCellRendererExpanderClass *klass) +{ + GObjectClass *object_class; + GtkCellRendererClass *cell_class; + + object_class = G_OBJECT_CLASS (klass); + cell_class = GTK_CELL_RENDERER_CLASS (klass); + + object_class->finalize = gossip_cell_renderer_expander_finalize; + + object_class->get_property = gossip_cell_renderer_expander_get_property; + object_class->set_property = gossip_cell_renderer_expander_set_property; + + cell_class->get_size = gossip_cell_renderer_expander_get_size; + cell_class->render = gossip_cell_renderer_expander_render; + cell_class->activate = gossip_cell_renderer_expander_activate; + + g_object_class_install_property (object_class, + PROP_EXPANDER_STYLE, + g_param_spec_enum ("expander-style", + "Expander Style", + "Style to use when painting the expander", + GTK_TYPE_EXPANDER_STYLE, + GTK_EXPANDER_COLLAPSED, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_EXPANDER_SIZE, + g_param_spec_int ("expander-size", + "Expander Size", + "The size of the expander", + 0, + G_MAXINT, + 12, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_ACTIVATABLE, + g_param_spec_boolean ("activatable", + "Activatable", + "The expander can be activated", + TRUE, + G_PARAM_READWRITE)); + + g_type_class_add_private (object_class, sizeof (GossipCellRendererExpanderPriv)); +} + +static void +gossip_cell_renderer_expander_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec) +{ + GossipCellRendererExpander *expander; + GossipCellRendererExpanderPriv *priv; + + expander = GOSSIP_CELL_RENDERER_EXPANDER (object); + priv = GET_PRIV (expander); + + switch (param_id) { + case PROP_EXPANDER_STYLE: + g_value_set_enum (value, priv->expander_style); + break; + + case PROP_EXPANDER_SIZE: + g_value_set_int (value, priv->expander_size); + break; + + case PROP_ACTIVATABLE: + g_value_set_boolean (value, priv->activatable); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + } +} + +static void +gossip_cell_renderer_expander_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec) +{ + GossipCellRendererExpander *expander; + GossipCellRendererExpanderPriv *priv; + + expander = GOSSIP_CELL_RENDERER_EXPANDER (object); + priv = GET_PRIV (expander); + + switch (param_id) { + case PROP_EXPANDER_STYLE: + priv->expander_style = g_value_get_enum (value); + break; + + case PROP_EXPANDER_SIZE: + priv->expander_size = g_value_get_int (value); + break; + + case PROP_ACTIVATABLE: + priv->activatable = g_value_get_boolean (value); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + } +} + +static void +gossip_cell_renderer_expander_finalize (GObject *object) +{ + GossipCellRendererExpanderPriv *priv; + + priv = GET_PRIV (object); + + if (priv->animation_timeout) { + g_source_remove (priv->animation_timeout); + priv->animation_timeout = 0; + } + + if (priv->animation_node) { + gtk_tree_row_reference_free (priv->animation_node); + } + + (* G_OBJECT_CLASS (gossip_cell_renderer_expander_parent_class)->finalize) (object); +} + +GtkCellRenderer * +gossip_cell_renderer_expander_new (void) +{ + return g_object_new (GOSSIP_TYPE_CELL_RENDERER_EXPANDER, NULL); +} + +static void +gossip_cell_renderer_expander_get_size (GtkCellRenderer *cell, + GtkWidget *widget, + GdkRectangle *cell_area, + gint *x_offset, + gint *y_offset, + gint *width, + gint *height) +{ + GossipCellRendererExpander *expander; + GossipCellRendererExpanderPriv *priv; + + expander = (GossipCellRendererExpander*) cell; + priv = GET_PRIV (expander); + + if (cell_area) { + if (x_offset) { + *x_offset = cell->xalign * (cell_area->width - (priv->expander_size + (2 * cell->xpad))); + *x_offset = MAX (*x_offset, 0); + } + + if (y_offset) { + *y_offset = cell->yalign * (cell_area->height - (priv->expander_size + (2 * cell->ypad))); + *y_offset = MAX (*y_offset, 0); + } + } else { + if (x_offset) + *x_offset = 0; + + if (y_offset) + *y_offset = 0; + } + + if (width) + *width = cell->xpad * 2 + priv->expander_size; + + if (height) + *height = cell->ypad * 2 + priv->expander_size; +} + +static void +gossip_cell_renderer_expander_render (GtkCellRenderer *cell, + GdkWindow *window, + GtkWidget *widget, + GdkRectangle *background_area, + GdkRectangle *cell_area, + GdkRectangle *expose_area, + GtkCellRendererState flags) +{ + GossipCellRendererExpander *expander; + GossipCellRendererExpanderPriv *priv; + GtkExpanderStyle expander_style; + gint x_offset, y_offset; + + expander = (GossipCellRendererExpander*) cell; + priv = GET_PRIV (expander); + + if (priv->animation_node) { + GtkTreePath *path; + GdkRectangle rect; + + /* Not sure if I like this ... */ + path = gtk_tree_row_reference_get_path (priv->animation_node); + gtk_tree_view_get_background_area (priv->animation_view, path, + NULL, &rect); + gtk_tree_path_free (path); + + if (background_area->y == rect.y) + expander_style = priv->animation_style; + else + expander_style = priv->expander_style; + } else + expander_style = priv->expander_style; + + gossip_cell_renderer_expander_get_size (cell, widget, cell_area, + &x_offset, &y_offset, + NULL, NULL); + + gtk_paint_expander (widget->style, + window, + GTK_STATE_NORMAL, + expose_area, + widget, + "treeview", + cell_area->x + x_offset + cell->xpad + priv->expander_size / 2, + cell_area->y + y_offset + cell->ypad + priv->expander_size / 2, + expander_style); +} + +static void +invalidate_node (GtkTreeView *tree_view, + GtkTreePath *path) +{ + GdkWindow *bin_window; + GdkRectangle rect; + + bin_window = gtk_tree_view_get_bin_window (tree_view); + + gtk_tree_view_get_background_area (tree_view, path, NULL, &rect); + + rect.x = 0; + rect.width = GTK_WIDGET (tree_view)->allocation.width; + + gdk_window_invalidate_rect (bin_window, &rect, TRUE); +} + +static gboolean +do_animation (GossipCellRendererExpander *expander) +{ + GossipCellRendererExpanderPriv *priv; + GtkTreePath *path; + gboolean done = FALSE; + + priv = GET_PRIV (expander); + + if (priv->animation_expanding) { + if (priv->animation_style == GTK_EXPANDER_SEMI_COLLAPSED) + priv->animation_style = GTK_EXPANDER_SEMI_EXPANDED; + else if (priv->animation_style == GTK_EXPANDER_SEMI_EXPANDED) { + priv->animation_style = GTK_EXPANDER_EXPANDED; + done = TRUE; + } + } else { + if (priv->animation_style == GTK_EXPANDER_SEMI_EXPANDED) + priv->animation_style = GTK_EXPANDER_SEMI_COLLAPSED; + else if (priv->animation_style == GTK_EXPANDER_SEMI_COLLAPSED) { + priv->animation_style = GTK_EXPANDER_COLLAPSED; + done = TRUE; + } + } + + path = gtk_tree_row_reference_get_path (priv->animation_node); + invalidate_node (priv->animation_view, path); + gtk_tree_path_free (path); + + if (done) { + gtk_tree_row_reference_free (priv->animation_node); + priv->animation_node = NULL; + priv->animation_timeout = 0; + } + + return !done; +} + +static gboolean +animation_timeout (gpointer data) +{ + gboolean retval; + + GDK_THREADS_ENTER (); + + retval = do_animation (data); + + GDK_THREADS_LEAVE (); + + return retval; +} + +static void +gossip_cell_renderer_expander_start_animation (GossipCellRendererExpander *expander, + GtkTreeView *tree_view, + GtkTreePath *path, + gboolean expanding, + GdkRectangle *background_area) +{ + GossipCellRendererExpanderPriv *priv; + + priv = GET_PRIV (expander); + + if (expanding) { + priv->animation_style = GTK_EXPANDER_SEMI_COLLAPSED; + } else { + priv->animation_style = GTK_EXPANDER_SEMI_EXPANDED; + } + + invalidate_node (tree_view, path); + + priv->animation_expanding = expanding; + priv->animation_view = tree_view; + priv->animation_node = gtk_tree_row_reference_new (gtk_tree_view_get_model (tree_view), path); + priv->animation_timeout = g_timeout_add (50, animation_timeout, expander); +} + +static gboolean +gossip_cell_renderer_expander_activate (GtkCellRenderer *cell, + GdkEvent *event, + GtkWidget *widget, + const gchar *path_string, + GdkRectangle *background_area, + GdkRectangle *cell_area, + GtkCellRendererState flags) +{ + GossipCellRendererExpander *expander; + GossipCellRendererExpanderPriv *priv; + GtkTreePath *path; + gboolean animate; + gboolean expanding; + + expander = GOSSIP_CELL_RENDERER_EXPANDER (cell); + priv = GET_PRIV (cell); + + if (!GTK_IS_TREE_VIEW (widget) || !priv->activatable) + return FALSE; + + path = gtk_tree_path_new_from_string (path_string); + + if (gtk_tree_path_get_depth (path) > 1) { + gtk_tree_path_free (path); + return TRUE; + } + + g_object_get (gtk_widget_get_settings (GTK_WIDGET (widget)), + "gtk-enable-animations", &animate, + NULL); + + if (gtk_tree_view_row_expanded (GTK_TREE_VIEW (widget), path)) { + gtk_tree_view_collapse_row (GTK_TREE_VIEW (widget), path); + expanding = FALSE; + } else { + gtk_tree_view_expand_row (GTK_TREE_VIEW (widget), path, FALSE); + expanding = TRUE; + } + + if (animate) { + gossip_cell_renderer_expander_start_animation (expander, + GTK_TREE_VIEW (widget), + path, + expanding, + background_area); + } + + gtk_tree_path_free (path); + + return TRUE; +} diff --git a/trunk/libempathy-gtk/gossip-cell-renderer-expander.h b/trunk/libempathy-gtk/gossip-cell-renderer-expander.h new file mode 100644 index 000000000..7df474668 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-cell-renderer-expander.h @@ -0,0 +1,59 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006-2007 Imendio AB + * + * 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. + * + * Authors: Kristian Rietveld <kris@imendio.com> + */ + +#ifndef __GOSSIP_CELL_RENDERER_EXPANDER_H__ +#define __GOSSIP_CELL_RENDERER_EXPANDER_H__ + +#include <gtk/gtkcellrenderer.h> + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_CELL_RENDERER_EXPANDER (gossip_cell_renderer_expander_get_type ()) +#define GOSSIP_CELL_RENDERER_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOSSIP_TYPE_CELL_RENDERER_EXPANDER, GossipCellRendererExpander)) +#define GOSSIP_CELL_RENDERER_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOSSIP_TYPE_CELL_RENDERER_EXPANDER, GossipCellRendererExpanderClass)) +#define GOSSIP_IS_CELL_RENDERER_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOSSIP_TYPE_CELL_RENDERER_EXPANDER)) +#define GOSSIP_IS_CELL_RENDERER_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOSSIP_TYPE_CELL_RENDERER_EXPANDER)) +#define GOSSIP_CELL_RENDERER_EXPANDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOSSIP_TYPE_CELL_RENDERER_EXPANDER, GossipCellRendererExpanderClass)) + +typedef struct _GossipCellRendererExpander GossipCellRendererExpander; +typedef struct _GossipCellRendererExpanderClass GossipCellRendererExpanderClass; + +struct _GossipCellRendererExpander { + GtkCellRenderer parent; +}; + +struct _GossipCellRendererExpanderClass { + GtkCellRendererClass parent_class; + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); +}; + +GType gossip_cell_renderer_expander_get_type (void) G_GNUC_CONST; +GtkCellRenderer *gossip_cell_renderer_expander_new (void); + +G_END_DECLS + +#endif /* __GOSSIP_CELL_RENDERER_EXPANDER_H__ */ diff --git a/trunk/libempathy-gtk/gossip-cell-renderer-text.c b/trunk/libempathy-gtk/gossip-cell-renderer-text.c new file mode 100644 index 000000000..2b54eedf5 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-cell-renderer-text.c @@ -0,0 +1,368 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004-2007 Imendio AB + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + */ + +#include "config.h" + +#include <string.h> + +#include "gossip-cell-renderer-text.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_CELL_RENDERER_TEXT, GossipCellRendererTextPriv)) + +struct _GossipCellRendererTextPriv { + gchar *name; + gchar *status; + gboolean is_group; + + gboolean is_valid; + gboolean is_selected; + + gboolean show_status; +}; + +static void gossip_cell_renderer_text_class_init (GossipCellRendererTextClass *klass); +static void gossip_cell_renderer_text_init (GossipCellRendererText *cell); +static void cell_renderer_text_finalize (GObject *object); +static void cell_renderer_text_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec); +static void cell_renderer_text_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec); +static void cell_renderer_text_get_size (GtkCellRenderer *cell, + GtkWidget *widget, + GdkRectangle *cell_area, + gint *x_offset, + gint *y_offset, + gint *width, + gint *height); +static void cell_renderer_text_render (GtkCellRenderer *cell, + GdkDrawable *window, + GtkWidget *widget, + GdkRectangle *background_area, + GdkRectangle *cell_area, + GdkRectangle *expose_area, + GtkCellRendererState flags); +static void cell_renderer_text_update_text (GossipCellRendererText *cell, + GtkWidget *widget, + gboolean selected); + +/* Properties */ +enum { + PROP_0, + PROP_NAME, + PROP_STATUS, + PROP_IS_GROUP, + PROP_SHOW_STATUS, +}; + +G_DEFINE_TYPE (GossipCellRendererText, gossip_cell_renderer_text, GTK_TYPE_CELL_RENDERER_TEXT); + +static void +gossip_cell_renderer_text_class_init (GossipCellRendererTextClass *klass) +{ + GObjectClass *object_class; + GtkCellRendererClass *cell_class; + + object_class = G_OBJECT_CLASS (klass); + cell_class = GTK_CELL_RENDERER_CLASS (klass); + + object_class->finalize = cell_renderer_text_finalize; + + object_class->get_property = cell_renderer_text_get_property; + object_class->set_property = cell_renderer_text_set_property; + + cell_class->get_size = cell_renderer_text_get_size; + cell_class->render = cell_renderer_text_render; + + g_object_class_install_property (object_class, + PROP_NAME, + g_param_spec_string ("name", + "Name", + "Contact name", + NULL, + G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + PROP_STATUS, + g_param_spec_string ("status", + "Status", + "Contact status string", + NULL, + G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + PROP_IS_GROUP, + g_param_spec_boolean ("is_group", + "Is group", + "Whether this cell is a group", + FALSE, + G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + PROP_SHOW_STATUS, + g_param_spec_boolean ("show-status", + "Show status", + "Whether to show the status line", + TRUE, + G_PARAM_READWRITE)); + + g_type_class_add_private (object_class, sizeof (GossipCellRendererTextPriv)); +} + +static void +gossip_cell_renderer_text_init (GossipCellRendererText *cell) +{ + GossipCellRendererTextPriv *priv; + + priv = GET_PRIV (cell); + + g_object_set (cell, + "ellipsize", PANGO_ELLIPSIZE_END, + NULL); + + priv->name = g_strdup (""); + priv->status = g_strdup (""); + priv->show_status = TRUE; +} + +static void +cell_renderer_text_finalize (GObject *object) +{ + GossipCellRendererText *cell; + GossipCellRendererTextPriv *priv; + + cell = GOSSIP_CELL_RENDERER_TEXT (object); + priv = GET_PRIV (cell); + + g_free (priv->name); + g_free (priv->status); + + (G_OBJECT_CLASS (gossip_cell_renderer_text_parent_class)->finalize) (object); +} + +static void +cell_renderer_text_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec) +{ + GossipCellRendererText *cell; + GossipCellRendererTextPriv *priv; + + cell = GOSSIP_CELL_RENDERER_TEXT (object); + priv = GET_PRIV (cell); + + switch (param_id) { + case PROP_NAME: + g_value_set_string (value, priv->name); + break; + case PROP_STATUS: + g_value_set_string (value, priv->status); + break; + case PROP_IS_GROUP: + g_value_set_boolean (value, priv->is_group); + break; + case PROP_SHOW_STATUS: + g_value_set_boolean (value, priv->show_status); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + } +} + +static void +cell_renderer_text_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec) +{ + GossipCellRendererText *cell; + GossipCellRendererTextPriv *priv; + const gchar *str; + + cell = GOSSIP_CELL_RENDERER_TEXT (object); + priv = GET_PRIV (cell); + + switch (param_id) { + case PROP_NAME: + g_free (priv->name); + str = g_value_get_string (value); + priv->name = g_strdup (str ? str : ""); + g_strdelimit (priv->name, "\n\r\t", ' '); + priv->is_valid = FALSE; + break; + case PROP_STATUS: + g_free (priv->status); + str = g_value_get_string (value); + priv->status = g_strdup (str ? str : ""); + g_strdelimit (priv->status, "\n\r\t", ' '); + priv->is_valid = FALSE; + break; + case PROP_IS_GROUP: + priv->is_group = g_value_get_boolean (value); + priv->is_valid = FALSE; + break; + case PROP_SHOW_STATUS: + priv->show_status = g_value_get_boolean (value); + priv->is_valid = FALSE; + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + } +} + +static void +cell_renderer_text_get_size (GtkCellRenderer *cell, + GtkWidget *widget, + GdkRectangle *cell_area, + gint *x_offset, + gint *y_offset, + gint *width, + gint *height) +{ + GossipCellRendererText *celltext; + GossipCellRendererTextPriv *priv; + + celltext = GOSSIP_CELL_RENDERER_TEXT (cell); + priv = GET_PRIV (cell); + + /* Only update if not already valid so we get the right size. */ + cell_renderer_text_update_text (celltext, widget, priv->is_selected); + + (GTK_CELL_RENDERER_CLASS (gossip_cell_renderer_text_parent_class)->get_size) (cell, widget, + cell_area, + x_offset, y_offset, + width, height); +} + +static void +cell_renderer_text_render (GtkCellRenderer *cell, + GdkWindow *window, + GtkWidget *widget, + GdkRectangle *background_area, + GdkRectangle *cell_area, + GdkRectangle *expose_area, + GtkCellRendererState flags) +{ + GossipCellRendererText *celltext; + + celltext = GOSSIP_CELL_RENDERER_TEXT (cell); + + cell_renderer_text_update_text (celltext, + widget, + (flags & GTK_CELL_RENDERER_SELECTED)); + + (GTK_CELL_RENDERER_CLASS (gossip_cell_renderer_text_parent_class)->render) ( + cell, window, + widget, + background_area, + cell_area, + expose_area, flags); +} + +static void +cell_renderer_text_update_text (GossipCellRendererText *cell, + GtkWidget *widget, + gboolean selected) +{ + GossipCellRendererTextPriv *priv; + PangoAttrList *attr_list; + PangoAttribute *attr_color, *attr_style, *attr_size; + GtkStyle *style; + gchar *str; + + priv = GET_PRIV (cell); + + if (priv->is_valid && priv->is_selected == selected) { + return; + } + + if (priv->is_group) { + g_object_set (cell, + "visible", TRUE, + "weight", PANGO_WEIGHT_BOLD, + "text", priv->name, + "attributes", NULL, + "xpad", 1, + "ypad", 1, + NULL); + + priv->is_selected = selected; + priv->is_valid = TRUE; + return; + } + + style = gtk_widget_get_style (widget); + + attr_list = pango_attr_list_new (); + + attr_style = pango_attr_style_new (PANGO_STYLE_ITALIC); + attr_style->start_index = strlen (priv->name) + 1; + attr_style->end_index = -1; + pango_attr_list_insert (attr_list, attr_style); + + if (!selected) { + GdkColor color; + + color = style->text_aa[GTK_STATE_NORMAL]; + + attr_color = pango_attr_foreground_new (color.red, color.green, color.blue); + attr_color->start_index = attr_style->start_index; + attr_color->end_index = -1; + pango_attr_list_insert (attr_list, attr_color); + } + + attr_size = pango_attr_size_new (pango_font_description_get_size (style->font_desc) / 1.2); + + attr_size->start_index = attr_style->start_index; + attr_size->end_index = -1; + pango_attr_list_insert (attr_list, attr_size); + + if (!priv->status || !priv->status[0] || !priv->show_status) { + str = g_strdup (priv->name); + } else { + str = g_strdup_printf ("%s\n%s", priv->name, priv->status); + } + + g_object_set (cell, + "visible", TRUE, + "weight", PANGO_WEIGHT_NORMAL, + "text", str, + "attributes", attr_list, + "xpad", 0, + "ypad", 1, + NULL); + + g_free (str); + pango_attr_list_unref (attr_list); + + priv->is_selected = selected; + priv->is_valid = TRUE; +} + +GtkCellRenderer * +gossip_cell_renderer_text_new (void) +{ + return g_object_new (GOSSIP_TYPE_CELL_RENDERER_TEXT, NULL); +} diff --git a/trunk/libempathy-gtk/gossip-cell-renderer-text.h b/trunk/libempathy-gtk/gossip-cell-renderer-text.h new file mode 100644 index 000000000..9b5a413b7 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-cell-renderer-text.h @@ -0,0 +1,56 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004-2007 Imendio AB + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + */ + +#ifndef __GOSSIP_CELL_RENDERER_TEXT_H__ +#define __GOSSIP_CELL_RENDERER_TEXT_H__ + +#include <gtk/gtkcellrenderertext.h> + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_CELL_RENDERER_TEXT (gossip_cell_renderer_text_get_type ()) +#define GOSSIP_CELL_RENDERER_TEXT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_CELL_RENDERER_TEXT, GossipCellRendererText)) +#define GOSSIP_CELL_RENDERER_TEXT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GOSSIP_TYPE_CELL_RENDERER_TEXT, GossipCellRendererTextClass)) +#define GOSSIP_IS_CELL_RENDERER_TEXT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_CELL_RENDERER_TEXT)) +#define GOSSIP_IS_CELL_RENDERER_TEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_CELL_RENDERER_TEXT)) +#define GOSSIP_CELL_RENDERER_TEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_CELL_RENDERER_TEXT, GossipCellRendererTextClass)) + +typedef struct _GossipCellRendererText GossipCellRendererText; +typedef struct _GossipCellRendererTextClass GossipCellRendererTextClass; +typedef struct _GossipCellRendererTextPriv GossipCellRendererTextPriv; + +struct _GossipCellRendererText { + GtkCellRendererText parent; + + GossipCellRendererTextPriv *priv; +}; + +struct _GossipCellRendererTextClass { + GtkCellRendererTextClass parent_class; +}; + +GType gossip_cell_renderer_text_get_type (void) G_GNUC_CONST; +GtkCellRenderer * gossip_cell_renderer_text_new (void); + +G_END_DECLS + +#endif /* __GOSSIP_CELL_RENDERER_TEXT_H__ */ diff --git a/trunk/libempathy-gtk/gossip-chat-manager.loT b/trunk/libempathy-gtk/gossip-chat-manager.loT new file mode 100644 index 000000000..3d0d3ab0d --- /dev/null +++ b/trunk/libempathy-gtk/gossip-chat-manager.loT @@ -0,0 +1,7 @@ +# gossip-chat-manager.lo - a libtool object file +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-4 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. diff --git a/trunk/libempathy-gtk/gossip-chat-view.c b/trunk/libempathy-gtk/gossip-chat-view.c new file mode 100644 index 000000000..24770f5de --- /dev/null +++ b/trunk/libempathy-gtk/gossip-chat-view.c @@ -0,0 +1,2208 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2002-2007 Imendio AB + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + */ + +#include "config.h" + +#include <sys/types.h> +#include <string.h> +#include <time.h> + +#include <glib/gi18n.h> +#include <gtk/gtkbutton.h> +#include <gtk/gtkimage.h> +#include <gtk/gtkmenu.h> +#include <gtk/gtkmenuitem.h> +#include <gtk/gtkimagemenuitem.h> +#include <gtk/gtkstock.h> +#include <gtk/gtkscrolledwindow.h> +#include <gtk/gtksizegroup.h> +#include <glade/glade.h> + +#include <libmissioncontrol/mc-account.h> + +#include <libempathy/gossip-utils.h> +#include <libempathy/gossip-debug.h> +#include <libempathy/gossip-conf.h> + +#include "gossip-chat-view.h" +#include "gossip-chat.h" +#include "gossip-preferences.h" +#include "gossip-theme-manager.h" +#include "gossip-ui-utils.h" + +#define DEBUG_DOMAIN "ChatView" + +/* Number of seconds between timestamps when using normal mode, 5 minutes. */ +#define TIMESTAMP_INTERVAL 300 + +#define MAX_LINES 800 + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_CHAT_VIEW, GossipChatViewPriv)) + +typedef enum { + BLOCK_TYPE_NONE, + BLOCK_TYPE_SELF, + BLOCK_TYPE_OTHER, + BLOCK_TYPE_EVENT, + BLOCK_TYPE_TIME, + BLOCK_TYPE_INVITE +} BlockType; + +struct _GossipChatViewPriv { + GtkTextBuffer *buffer; + + gboolean irc_style; + time_t last_timestamp; + BlockType last_block_type; + + gboolean allow_scrolling; + gboolean is_group_chat; + + GtkTextMark *find_mark_previous; + GtkTextMark *find_mark_next; + gboolean find_wrapped; + gboolean find_last_direction; + + /* This is for the group chat so we know if the "other" last contact + * changed, so we know whether to insert a header or not. + */ + GossipContact *last_contact; + + guint notify_system_fonts_id; + guint notify_show_avatars_id; +}; + +typedef struct { + GossipSmiley smiley; + const gchar *pattern; +} GossipSmileyPattern; + +static const GossipSmileyPattern smileys[] = { + /* Forward smileys. */ + { GOSSIP_SMILEY_NORMAL, ":)" }, + { GOSSIP_SMILEY_WINK, ";)" }, + { GOSSIP_SMILEY_WINK, ";-)" }, + { GOSSIP_SMILEY_BIGEYE, "=)" }, + { GOSSIP_SMILEY_NOSE, ":-)" }, + { GOSSIP_SMILEY_CRY, ":'(" }, + { GOSSIP_SMILEY_SAD, ":(" }, + { GOSSIP_SMILEY_SAD, ":-(" }, + { GOSSIP_SMILEY_SCEPTICAL, ":/" }, + { GOSSIP_SMILEY_SCEPTICAL, ":\\" }, + { GOSSIP_SMILEY_BIGSMILE, ":D" }, + { GOSSIP_SMILEY_BIGSMILE, ":-D" }, + { GOSSIP_SMILEY_INDIFFERENT, ":|" }, + { GOSSIP_SMILEY_TOUNGE, ":p" }, + { GOSSIP_SMILEY_TOUNGE, ":-p" }, + { GOSSIP_SMILEY_TOUNGE, ":P" }, + { GOSSIP_SMILEY_TOUNGE, ":-P" }, + { GOSSIP_SMILEY_TOUNGE, ";p" }, + { GOSSIP_SMILEY_TOUNGE, ";-p" }, + { GOSSIP_SMILEY_TOUNGE, ";P" }, + { GOSSIP_SMILEY_TOUNGE, ";-P" }, + { GOSSIP_SMILEY_SHOCKED, ":o" }, + { GOSSIP_SMILEY_SHOCKED, ":-o" }, + { GOSSIP_SMILEY_SHOCKED, ":O" }, + { GOSSIP_SMILEY_SHOCKED, ":-O" }, + { GOSSIP_SMILEY_COOL, "8)" }, + { GOSSIP_SMILEY_COOL, "B)" }, + { GOSSIP_SMILEY_SORRY, "*|" }, + { GOSSIP_SMILEY_KISS, ":*" }, + { GOSSIP_SMILEY_SHUTUP, ":#" }, + { GOSSIP_SMILEY_SHUTUP, ":-#" }, + { GOSSIP_SMILEY_YAWN, "|O" }, + { GOSSIP_SMILEY_CONFUSED, ":S" }, + { GOSSIP_SMILEY_CONFUSED, ":s" }, + { GOSSIP_SMILEY_ANGEL, "<)" }, + { GOSSIP_SMILEY_OOOH, ":x" }, + { GOSSIP_SMILEY_LOOKAWAY, "*)" }, + { GOSSIP_SMILEY_LOOKAWAY, "*-)" }, + { GOSSIP_SMILEY_BLUSH, "*S" }, + { GOSSIP_SMILEY_BLUSH, "*s" }, + { GOSSIP_SMILEY_BLUSH, "*$" }, + { GOSSIP_SMILEY_COOLBIGSMILE, "8D" }, + { GOSSIP_SMILEY_ANGRY, ":@" }, + { GOSSIP_SMILEY_BOSS, "@)" }, + { GOSSIP_SMILEY_MONKEY, "#)" }, + { GOSSIP_SMILEY_SILLY, "O)" }, + { GOSSIP_SMILEY_SICK, "+o(" }, + + /* Backward smileys. */ + { GOSSIP_SMILEY_NORMAL, "(:" }, + { GOSSIP_SMILEY_WINK, "(;" }, + { GOSSIP_SMILEY_WINK, "(-;" }, + { GOSSIP_SMILEY_BIGEYE, "(=" }, + { GOSSIP_SMILEY_NOSE, "(-:" }, + { GOSSIP_SMILEY_CRY, ")':" }, + { GOSSIP_SMILEY_SAD, "):" }, + { GOSSIP_SMILEY_SAD, ")-:" }, + { GOSSIP_SMILEY_SCEPTICAL, "/:" }, + { GOSSIP_SMILEY_SCEPTICAL, "//:" }, + { GOSSIP_SMILEY_INDIFFERENT, "|:" }, + { GOSSIP_SMILEY_TOUNGE, "d:" }, + { GOSSIP_SMILEY_TOUNGE, "d-:" }, + { GOSSIP_SMILEY_TOUNGE, "d;" }, + { GOSSIP_SMILEY_TOUNGE, "d-;" }, + { GOSSIP_SMILEY_SHOCKED, "o:" }, + { GOSSIP_SMILEY_SHOCKED, "O:" }, + { GOSSIP_SMILEY_COOL, "(8" }, + { GOSSIP_SMILEY_COOL, "(B" }, + { GOSSIP_SMILEY_SORRY, "|*" }, + { GOSSIP_SMILEY_KISS, "*:" }, + { GOSSIP_SMILEY_SHUTUP, "#:" }, + { GOSSIP_SMILEY_SHUTUP, "#-:" }, + { GOSSIP_SMILEY_YAWN, "O|" }, + { GOSSIP_SMILEY_CONFUSED, "S:" }, + { GOSSIP_SMILEY_CONFUSED, "s:" }, + { GOSSIP_SMILEY_ANGEL, "(>" }, + { GOSSIP_SMILEY_OOOH, "x:" }, + { GOSSIP_SMILEY_LOOKAWAY, "(*" }, + { GOSSIP_SMILEY_LOOKAWAY, "(-*" }, + { GOSSIP_SMILEY_BLUSH, "S*" }, + { GOSSIP_SMILEY_BLUSH, "s*" }, + { GOSSIP_SMILEY_BLUSH, "$*" }, + { GOSSIP_SMILEY_ANGRY, "@:" }, + { GOSSIP_SMILEY_BOSS, "(@" }, + { GOSSIP_SMILEY_MONKEY, "#)" }, + { GOSSIP_SMILEY_SILLY, "(O" }, + { GOSSIP_SMILEY_SICK, ")o+" } +}; + +static void gossip_chat_view_class_init (GossipChatViewClass *klass); +static void gossip_chat_view_init (GossipChatView *view); +static void chat_view_finalize (GObject *object); +static gboolean chat_view_drag_motion (GtkWidget *widget, + GdkDragContext *context, + gint x, + gint y, + guint time); +static void chat_view_size_allocate (GtkWidget *widget, + GtkAllocation *alloc); +static void chat_view_setup_tags (GossipChatView *view); +static void chat_view_system_font_update (GossipChatView *view); +static void chat_view_notify_system_font_cb (GossipConf *conf, + const gchar *key, + gpointer user_data); +static void chat_view_notify_show_avatars_cb (GossipConf *conf, + const gchar *key, + gpointer user_data); +static void chat_view_populate_popup (GossipChatView *view, + GtkMenu *menu, + gpointer user_data); +static gboolean chat_view_event_cb (GossipChatView *view, + GdkEventMotion *event, + GtkTextTag *tag); +static gboolean chat_view_url_event_cb (GtkTextTag *tag, + GObject *object, + GdkEvent *event, + GtkTextIter *iter, + GtkTextBuffer *buffer); +static void chat_view_open_address_cb (GtkMenuItem *menuitem, + const gchar *url); +static void chat_view_copy_address_cb (GtkMenuItem *menuitem, + const gchar *url); +static void chat_view_clear_view_cb (GtkMenuItem *menuitem, + GossipChatView *view); +static void chat_view_insert_text_with_emoticons (GtkTextBuffer *buf, + GtkTextIter *iter, + const gchar *str); +static gboolean chat_view_is_scrolled_down (GossipChatView *view); +static void chat_view_theme_changed_cb (GossipThemeManager *manager, + GossipChatView *view); +static void chat_view_maybe_append_date_and_time (GossipChatView *view, + GossipMessage *msg); +static void chat_view_append_spacing (GossipChatView *view); +static void chat_view_append_text (GossipChatView *view, + const gchar *body, + const gchar *tag); +static void chat_view_maybe_append_fancy_header (GossipChatView *view, + GossipMessage *msg); +static void chat_view_append_irc_action (GossipChatView *view, + GossipMessage *msg); +static void chat_view_append_fancy_action (GossipChatView *view, + GossipMessage *msg); +static void chat_view_append_irc_message (GossipChatView *view, + GossipMessage *msg); +static void chat_view_append_fancy_message (GossipChatView *view, + GossipMessage *msg); +static GdkPixbuf *chat_view_pad_to_size (GdkPixbuf *pixbuf, + gint width, + gint height, + gint extra_padding_right); + +G_DEFINE_TYPE (GossipChatView, gossip_chat_view, GTK_TYPE_TEXT_VIEW); + +static void +gossip_chat_view_class_init (GossipChatViewClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + object_class->finalize = chat_view_finalize; + widget_class->size_allocate = chat_view_size_allocate; + widget_class->drag_motion = chat_view_drag_motion; + + g_type_class_add_private (object_class, sizeof (GossipChatViewPriv)); +} + +static void +gossip_chat_view_init (GossipChatView *view) +{ + GossipChatViewPriv *priv; + gboolean show_avatars; + + priv = GET_PRIV (view); + + priv->buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); + + priv->last_block_type = BLOCK_TYPE_NONE; + priv->last_timestamp = 0; + + priv->allow_scrolling = TRUE; + + priv->is_group_chat = FALSE; + + g_object_set (view, + "wrap-mode", GTK_WRAP_WORD_CHAR, + "editable", FALSE, + "cursor-visible", FALSE, + NULL); + + priv->notify_system_fonts_id = + gossip_conf_notify_add (gossip_conf_get (), + "/desktop/gnome/interface/document_font_name", + chat_view_notify_system_font_cb, + view); + chat_view_system_font_update (view); + + priv->notify_show_avatars_id = + gossip_conf_notify_add (gossip_conf_get (), + GOSSIP_PREFS_UI_SHOW_AVATARS, + chat_view_notify_show_avatars_cb, + view); + + chat_view_setup_tags (view); + + gossip_theme_manager_apply_saved (gossip_theme_manager_get (), view); + + show_avatars = FALSE; + gossip_conf_get_bool (gossip_conf_get (), + GOSSIP_PREFS_UI_SHOW_AVATARS, + &show_avatars); + + gossip_theme_manager_update_show_avatars (gossip_theme_manager_get (), + view, show_avatars); + + g_signal_connect (view, + "populate-popup", + G_CALLBACK (chat_view_populate_popup), + NULL); + + g_signal_connect_object (gossip_theme_manager_get (), + "theme-changed", + G_CALLBACK (chat_view_theme_changed_cb), + view, + 0); +} + +static void +chat_view_finalize (GObject *object) +{ + GossipChatView *view; + GossipChatViewPriv *priv; + + view = GOSSIP_CHAT_VIEW (object); + priv = GET_PRIV (view); + + gossip_debug (DEBUG_DOMAIN, "finalize: %p", object); + + gossip_conf_notify_remove (gossip_conf_get (), priv->notify_system_fonts_id); + gossip_conf_notify_remove (gossip_conf_get (), priv->notify_show_avatars_id); + + if (priv->last_contact) { + g_object_unref (priv->last_contact); + } + + G_OBJECT_CLASS (gossip_chat_view_parent_class)->finalize (object); +} + +static gboolean +chat_view_drag_motion (GtkWidget *widget, + GdkDragContext *context, + gint x, + gint y, + guint time) +{ + /* Don't handle drag motion, since we don't want the view to scroll as + * the result of dragging something across it. + */ + + return FALSE; +} + +static void +chat_view_size_allocate (GtkWidget *widget, + GtkAllocation *alloc) +{ + gboolean down; + + down = chat_view_is_scrolled_down (GOSSIP_CHAT_VIEW (widget)); + + GTK_WIDGET_CLASS (gossip_chat_view_parent_class)->size_allocate (widget, alloc); + + if (down) { + gossip_chat_view_scroll_down (GOSSIP_CHAT_VIEW (widget)); + } +} + +static void +chat_view_setup_tags (GossipChatView *view) +{ + GossipChatViewPriv *priv; + GtkTextTag *tag; + + priv = GET_PRIV (view); + + gtk_text_buffer_create_tag (priv->buffer, + "cut", + NULL); + + /* FIXME: Move to the theme and come up with something that looks a bit + * nicer. + */ + gtk_text_buffer_create_tag (priv->buffer, + "highlight", + "background", "yellow", + NULL); + + tag = gtk_text_buffer_create_tag (priv->buffer, + "link", + NULL); + + g_signal_connect (tag, + "event", + G_CALLBACK (chat_view_url_event_cb), + priv->buffer); + + g_signal_connect (view, + "motion-notify-event", + G_CALLBACK (chat_view_event_cb), + tag); +} + +static void +chat_view_system_font_update (GossipChatView *view) +{ + PangoFontDescription *font_description = NULL; + gchar *font_name; + + if (gossip_conf_get_string (gossip_conf_get (), + "/desktop/gnome/interface/document_font_name", + &font_name) && font_name) { + font_description = pango_font_description_from_string (font_name); + g_free (font_name); + } else { + font_description = NULL; + } + + gtk_widget_modify_font (GTK_WIDGET (view), font_description); + + if (font_description) { + pango_font_description_free (font_description); + } +} + +static void +chat_view_notify_system_font_cb (GossipConf *conf, + const gchar *key, + gpointer user_data) +{ + GossipChatView *view; + gboolean show_avatars = FALSE; + + view = user_data; + + chat_view_system_font_update (view); + + /* Ugly, again, to adjust the vertical position of the nick... Will fix + * this when reworking the theme manager so that view register + * themselves with it instead of the other way around. + */ + gossip_conf_get_bool (conf, + GOSSIP_PREFS_UI_SHOW_AVATARS, + &show_avatars); + + gossip_theme_manager_update_show_avatars (gossip_theme_manager_get (), + view, show_avatars); +} + +static void +chat_view_notify_show_avatars_cb (GossipConf *conf, + const gchar *key, + gpointer user_data) +{ + GossipChatView *view; + GossipChatViewPriv *priv; + gboolean show_avatars = FALSE; + + view = user_data; + priv = GET_PRIV (view); + + gossip_conf_get_bool (conf, key, &show_avatars); + + gossip_theme_manager_update_show_avatars (gossip_theme_manager_get (), + view, show_avatars); +} + +static void +chat_view_populate_popup (GossipChatView *view, + GtkMenu *menu, + gpointer user_data) +{ + GossipChatViewPriv *priv; + GtkTextTagTable *table; + GtkTextTag *tag; + gint x, y; + GtkTextIter iter, start, end; + GtkWidget *item; + gchar *str = NULL; + + priv = GET_PRIV (view); + + /* Clear menu item */ + if (gtk_text_buffer_get_char_count (priv->buffer) > 0) { + item = gtk_menu_item_new (); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + + item = gtk_image_menu_item_new_from_stock (GTK_STOCK_CLEAR, NULL); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + + g_signal_connect (item, + "activate", + G_CALLBACK (chat_view_clear_view_cb), + view); + } + + /* Link context menu items */ + table = gtk_text_buffer_get_tag_table (priv->buffer); + tag = gtk_text_tag_table_lookup (table, "link"); + + gtk_widget_get_pointer (GTK_WIDGET (view), &x, &y); + + gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (view), + GTK_TEXT_WINDOW_WIDGET, + x, y, + &x, &y); + + gtk_text_view_get_iter_at_location (GTK_TEXT_VIEW (view), &iter, x, y); + + start = end = iter; + + if (gtk_text_iter_backward_to_tag_toggle (&start, tag) && + gtk_text_iter_forward_to_tag_toggle (&end, tag)) { + str = gtk_text_buffer_get_text (priv->buffer, + &start, &end, FALSE); + } + + if (G_STR_EMPTY (str)) { + g_free (str); + return; + } + + /* NOTE: Set data just to get the string freed when not needed. */ + g_object_set_data_full (G_OBJECT (menu), + "url", str, + (GDestroyNotify) g_free); + + item = gtk_menu_item_new (); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + + item = gtk_menu_item_new_with_mnemonic (_("_Copy Link Address")); + g_signal_connect (item, + "activate", + G_CALLBACK (chat_view_copy_address_cb), + str); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + + item = gtk_menu_item_new_with_mnemonic (_("_Open Link")); + g_signal_connect (item, + "activate", + G_CALLBACK (chat_view_open_address_cb), + str); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); +} + +static gboolean +chat_view_event_cb (GossipChatView *view, + GdkEventMotion *event, + GtkTextTag *tag) +{ + static GdkCursor *hand = NULL; + static GdkCursor *beam = NULL; + GtkTextWindowType type; + GtkTextIter iter; + GdkWindow *win; + gint x, y, buf_x, buf_y; + + type = gtk_text_view_get_window_type (GTK_TEXT_VIEW (view), + event->window); + + if (type != GTK_TEXT_WINDOW_TEXT) { + return FALSE; + } + + /* Get where the pointer really is. */ + win = gtk_text_view_get_window (GTK_TEXT_VIEW (view), type); + if (!win) { + return FALSE; + } + + gdk_window_get_pointer (win, &x, &y, NULL); + + /* Get the iter where the cursor is at */ + gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (view), type, + x, y, + &buf_x, &buf_y); + + gtk_text_view_get_iter_at_location (GTK_TEXT_VIEW (view), + &iter, + buf_x, buf_y); + + if (gtk_text_iter_has_tag (&iter, tag)) { + if (!hand) { + hand = gdk_cursor_new (GDK_HAND2); + beam = gdk_cursor_new (GDK_XTERM); + } + gdk_window_set_cursor (win, hand); + } else { + if (!beam) { + beam = gdk_cursor_new (GDK_XTERM); + } + gdk_window_set_cursor (win, beam); + } + + return FALSE; +} + +static gboolean +chat_view_url_event_cb (GtkTextTag *tag, + GObject *object, + GdkEvent *event, + GtkTextIter *iter, + GtkTextBuffer *buffer) +{ + GtkTextIter start, end; + gchar *str; + + /* If the link is being selected, don't do anything. */ + gtk_text_buffer_get_selection_bounds (buffer, &start, &end); + if (gtk_text_iter_get_offset (&start) != gtk_text_iter_get_offset (&end)) { + return FALSE; + } + + if (event->type == GDK_BUTTON_RELEASE && event->button.button == 1) { + start = end = *iter; + + if (gtk_text_iter_backward_to_tag_toggle (&start, tag) && + gtk_text_iter_forward_to_tag_toggle (&end, tag)) { + str = gtk_text_buffer_get_text (buffer, + &start, + &end, + FALSE); + + gossip_url_show (str); + g_free (str); + } + } + + return FALSE; +} + +static void +chat_view_open_address_cb (GtkMenuItem *menuitem, const gchar *url) +{ + gossip_url_show (url); +} + +static void +chat_view_copy_address_cb (GtkMenuItem *menuitem, const gchar *url) +{ + GtkClipboard *clipboard; + + clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); + gtk_clipboard_set_text (clipboard, url, -1); + + clipboard = gtk_clipboard_get (GDK_SELECTION_PRIMARY); + gtk_clipboard_set_text (clipboard, url, -1); +} + +static void +chat_view_clear_view_cb (GtkMenuItem *menuitem, GossipChatView *view) +{ + gossip_chat_view_clear (view); +} + +static void +chat_view_insert_text_with_emoticons (GtkTextBuffer *buf, + GtkTextIter *iter, + const gchar *str) +{ + const gchar *p; + gunichar c, prev_c; + gint i; + gint match; + gint submatch; + gboolean use_smileys = FALSE; + + gossip_conf_get_bool (gossip_conf_get (), + GOSSIP_PREFS_CHAT_SHOW_SMILEYS, + &use_smileys); + + if (!use_smileys) { + gtk_text_buffer_insert (buf, iter, str, -1); + return; + } + + while (*str) { + gint smileys_index[G_N_ELEMENTS (smileys)]; + GdkPixbuf *pixbuf; + gint len; + const gchar *start; + + memset (smileys_index, 0, sizeof (smileys_index)); + + match = -1; + submatch = -1; + p = str; + prev_c = 0; + + while (*p) { + c = g_utf8_get_char (p); + + if (match != -1 && g_unichar_isspace (c)) { + break; + } else { + match = -1; + } + + if (submatch != -1 || prev_c == 0 || g_unichar_isspace (prev_c)) { + submatch = -1; + + for (i = 0; i < G_N_ELEMENTS (smileys); i++) { + /* Only try to match if we already have + * a beginning match for the pattern, or + * if it's the first character in the + * pattern, if it's not in the middle of + * a word. + */ + if (((smileys_index[i] == 0 && (prev_c == 0 || g_unichar_isspace (prev_c))) || + smileys_index[i] > 0) && + smileys[i].pattern[smileys_index[i]] == c) { + submatch = i; + + smileys_index[i]++; + if (!smileys[i].pattern[smileys_index[i]]) { + match = i; + } + } else { + smileys_index[i] = 0; + } + } + } + + prev_c = c; + p = g_utf8_next_char (p); + } + + if (match == -1) { + gtk_text_buffer_insert (buf, iter, str, -1); + return; + } + + start = p - strlen (smileys[match].pattern); + + if (start > str) { + len = start - str; + gtk_text_buffer_insert (buf, iter, str, len); + } + + pixbuf = gossip_chat_view_get_smiley_image (smileys[match].smiley); + gtk_text_buffer_insert_pixbuf (buf, iter, pixbuf); + + gtk_text_buffer_insert (buf, iter, " ", 1); + + str = g_utf8_find_next_char (p, NULL); + } +} + +static gboolean +chat_view_is_scrolled_down (GossipChatView *view) +{ + GtkWidget *sw; + + sw = gtk_widget_get_parent (GTK_WIDGET (view)); + if (GTK_IS_SCROLLED_WINDOW (sw)) { + GtkAdjustment *vadj; + + vadj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (sw)); + + if (vadj->value + vadj->page_size / 2 < vadj->upper - vadj->page_size) { + return FALSE; + } + } + + return TRUE; +} + +static void +chat_view_maybe_trim_buffer (GossipChatView *view) +{ + GossipChatViewPriv *priv; + GtkTextIter top, bottom; + gint line; + gint remove; + GtkTextTagTable *table; + GtkTextTag *tag; + + priv = GET_PRIV (view); + + gtk_text_buffer_get_end_iter (priv->buffer, &bottom); + line = gtk_text_iter_get_line (&bottom); + if (line < MAX_LINES) { + return; + } + + remove = line - MAX_LINES; + gtk_text_buffer_get_start_iter (priv->buffer, &top); + + bottom = top; + if (!gtk_text_iter_forward_lines (&bottom, remove)) { + return; + } + + /* Track backwords to a place where we can safely cut, we don't do it in + * the middle of a tag. + */ + table = gtk_text_buffer_get_tag_table (priv->buffer); + tag = gtk_text_tag_table_lookup (table, "cut"); + if (!tag) { + return; + } + + if (!gtk_text_iter_forward_to_tag_toggle (&bottom, tag)) { + return; + } + + if (!gtk_text_iter_equal (&top, &bottom)) { + gtk_text_buffer_delete (priv->buffer, &top, &bottom); + } +} + +static void +chat_view_maybe_append_date_and_time (GossipChatView *view, + GossipMessage *msg) +{ + GossipChatViewPriv *priv; + const gchar *tag; + time_t timestamp; + GDate *date, *last_date; + GtkTextIter iter; + gboolean append_date, append_time; + GString *str; + + priv = GET_PRIV (view); + + if (priv->irc_style) { + tag = "irc-time"; + } else { + tag = "fancy-time"; + } + + if (priv->last_block_type == BLOCK_TYPE_TIME) { + return; + } + + str = g_string_new (NULL); + + timestamp = 0; + if (msg) { + timestamp = gossip_message_get_timestamp (msg); + } + + if (timestamp <= 0) { + timestamp = gossip_time_get_current (); + } + + date = g_date_new (); + g_date_set_time (date, timestamp); + + last_date = g_date_new (); + g_date_set_time (last_date, priv->last_timestamp); + + append_date = FALSE; + append_time = FALSE; + + if (g_date_compare (date, last_date) > 0) { + append_date = TRUE; + append_time = TRUE; + } + + if (priv->last_timestamp + TIMESTAMP_INTERVAL < timestamp) { + append_time = TRUE; + } + + if (append_time || append_date) { + chat_view_append_spacing (view); + + g_string_append (str, "- "); + } + + if (append_date) { + gchar buf[256]; + + g_date_strftime (buf, 256, _("%A %d %B %Y"), date); + g_string_append (str, buf); + + if (append_time) { + g_string_append (str, ", "); + } + } + + g_date_free (date); + g_date_free (last_date); + + if (append_time) { + gchar *tmp; + + tmp = gossip_time_to_string_local (timestamp, GOSSIP_TIME_FORMAT_DISPLAY_SHORT); + g_string_append (str, tmp); + g_free (tmp); + } + + if (append_time || append_date) { + g_string_append (str, " -\n"); + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, + &iter, + str->str, -1, + tag, + NULL); + + priv->last_block_type = BLOCK_TYPE_TIME; + priv->last_timestamp = timestamp; + } + + g_string_free (str, TRUE); +} + +static void +chat_view_append_spacing (GossipChatView *view) +{ + GossipChatViewPriv *priv; + const gchar *tag; + GtkTextIter iter; + + priv = GET_PRIV (view); + + if (priv->irc_style) { + tag = "irc-spacing"; + } else { + tag = "fancy-spacing"; + } + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, + &iter, + "\n", + -1, + "cut", + tag, + NULL); +} + +static void +chat_view_append_text (GossipChatView *view, + const gchar *body, + const gchar *tag) +{ + GossipChatViewPriv *priv; + GtkTextIter start_iter, end_iter; + GtkTextMark *mark; + GtkTextIter iter; + gint num_matches, i; + GArray *start, *end; + const gchar *link_tag; + + priv = GET_PRIV (view); + + if (priv->irc_style) { + link_tag = "irc-link"; + } else { + link_tag = "fancy-link"; + } + + gtk_text_buffer_get_end_iter (priv->buffer, &start_iter); + mark = gtk_text_buffer_create_mark (priv->buffer, NULL, &start_iter, TRUE); + + start = g_array_new (FALSE, FALSE, sizeof (gint)); + end = g_array_new (FALSE, FALSE, sizeof (gint)); + + num_matches = gossip_regex_match (GOSSIP_REGEX_ALL, body, start, end); + + if (num_matches == 0) { + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + chat_view_insert_text_with_emoticons (priv->buffer, &iter, body); + } else { + gint last = 0; + gint s = 0, e = 0; + gchar *tmp; + + for (i = 0; i < num_matches; i++) { + s = g_array_index (start, gint, i); + e = g_array_index (end, gint, i); + + if (s > last) { + tmp = gossip_substring (body, last, s); + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + chat_view_insert_text_with_emoticons (priv->buffer, + &iter, + tmp); + g_free (tmp); + } + + tmp = gossip_substring (body, s, e); + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, + &iter, + tmp, + -1, + link_tag, + "link", + NULL); + + g_free (tmp); + + last = e; + } + + if (e < strlen (body)) { + tmp = gossip_substring (body, e, strlen (body)); + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + chat_view_insert_text_with_emoticons (priv->buffer, + &iter, + tmp); + g_free (tmp); + } + } + + g_array_free (start, TRUE); + g_array_free (end, TRUE); + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + gtk_text_buffer_insert (priv->buffer, &iter, "\n", 1); + + /* Apply the style to the inserted text. */ + gtk_text_buffer_get_iter_at_mark (priv->buffer, &start_iter, mark); + gtk_text_buffer_get_end_iter (priv->buffer, &end_iter); + + gtk_text_buffer_apply_tag_by_name (priv->buffer, + tag, + &start_iter, + &end_iter); + + gtk_text_buffer_delete_mark (priv->buffer, mark); +} + +static void +chat_view_maybe_append_fancy_header (GossipChatView *view, + GossipMessage *msg) +{ + GossipChatViewPriv *priv; + GossipContact *sender; + GossipContact *my_contact; + const gchar *name; + gboolean header; + GtkTextIter iter; + gchar *tmp; + const gchar *tag; + const gchar *avatar_tag; + const gchar *line_top_tag; + const gchar *line_bottom_tag; + gboolean from_self; + GdkPixbuf *pixbuf = NULL; + GdkPixbuf *avatar = NULL; + + priv = GET_PRIV (view); + + sender = gossip_message_get_sender (msg); + my_contact = gossip_contact_get_user (sender); + name = gossip_contact_get_name (sender); + from_self = gossip_contact_equal (sender, my_contact); + + gossip_debug (DEBUG_DOMAIN, "Maybe add fancy header"); + + if (from_self) { + tag = "fancy-header-self"; + line_top_tag = "fancy-line-top-self"; + line_bottom_tag = "fancy-line-bottom-self"; + } else { + tag = "fancy-header-other"; + line_top_tag = "fancy-line-top-other"; + line_bottom_tag = "fancy-line-bottom-other"; + } + + header = FALSE; + + /* Only insert a header if the previously inserted block is not the same + * as this one. This catches all the different cases: + */ + if (priv->last_block_type != BLOCK_TYPE_SELF && + priv->last_block_type != BLOCK_TYPE_OTHER) { + header = TRUE; + } + else if (from_self && priv->last_block_type == BLOCK_TYPE_OTHER) { + header = TRUE; + } + else if (!from_self && priv->last_block_type == BLOCK_TYPE_SELF) { + header = TRUE; + } + else if (!from_self && + (!priv->last_contact || + !gossip_contact_equal (sender, priv->last_contact))) { + header = TRUE; + } + + if (!header) { + return; + } + + chat_view_append_spacing (view); + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, + &iter, + "\n", + -1, + line_top_tag, + NULL); + + /* FIXME: we should have a cash of avatar pixbufs */ + pixbuf = gossip_pixbuf_avatar_from_contact_scaled (sender, 32, 32); + if (pixbuf) { + avatar = chat_view_pad_to_size (pixbuf, 32, 32, 6); + g_object_unref (pixbuf); + } + + if (avatar) { + GtkTextIter start; + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + gtk_text_buffer_insert_pixbuf (priv->buffer, &iter, avatar); + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + start = iter; + gtk_text_iter_backward_char (&start); + + if (from_self) { + gtk_text_buffer_apply_tag_by_name (priv->buffer, + "fancy-avatar-self", + &start, &iter); + avatar_tag = "fancy-header-self-avatar"; + } else { + gtk_text_buffer_apply_tag_by_name (priv->buffer, + "fancy-avatar-other", + &start, &iter); + avatar_tag = "fancy-header-other-avatar"; + } + + g_object_unref (avatar); + } else { + avatar_tag = NULL; + } + + tmp = g_strdup_printf ("%s\n", name); + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, + &iter, + tmp, + -1, + tag, + avatar_tag, + NULL); + g_free (tmp); + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, + &iter, + "\n", + -1, + line_bottom_tag, + NULL); +} + +static void +chat_view_append_irc_action (GossipChatView *view, + GossipMessage *msg) +{ + GossipChatViewPriv *priv; + GossipContact *my_contact; + GossipContact *sender; + const gchar *name; + GtkTextIter iter; + const gchar *body; + gchar *tmp; + const gchar *tag; + + priv = GET_PRIV (view); + + gossip_debug (DEBUG_DOMAIN, "Add IRC action"); + + sender = gossip_message_get_sender (msg); + my_contact = gossip_contact_get_user (sender); + name = gossip_contact_get_name (sender); + + /* Skip the "/me ". */ + if (gossip_contact_equal (sender, my_contact)) { + tag = "irc-action-self"; + } else { + tag = "irc-action-other"; + } + + if (priv->last_block_type != BLOCK_TYPE_SELF && + priv->last_block_type != BLOCK_TYPE_OTHER) { + chat_view_append_spacing (view); + } + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + + tmp = g_strdup_printf (" * %s ", name); + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, + &iter, + tmp, + -1, + "cut", + tag, + NULL); + g_free (tmp); + + body = gossip_message_get_body (msg); + chat_view_append_text (view, body, tag); +} + +static void +chat_view_append_fancy_action (GossipChatView *view, + GossipMessage *msg) +{ + GossipChatViewPriv *priv; + GossipContact *sender; + GossipContact *my_contact; + const gchar *name; + const gchar *body; + GtkTextIter iter; + gchar *tmp; + const gchar *tag; + const gchar *line_tag; + + priv = GET_PRIV (view); + + gossip_debug (DEBUG_DOMAIN, "Add fancy action"); + + sender = gossip_message_get_sender (msg); + my_contact = gossip_contact_get_user (sender); + name = gossip_contact_get_name (sender); + + if (gossip_contact_equal (sender, my_contact)) { + tag = "fancy-action-self"; + line_tag = "fancy-line-self"; + } else { + tag = "fancy-action-other"; + line_tag = "fancy-line-other"; + } + + tmp = g_strdup_printf (" * %s ", name); + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, + &iter, + tmp, + -1, + tag, + NULL); + g_free (tmp); + + body = gossip_message_get_body (msg); + chat_view_append_text (view, body, tag); +} + +static void +chat_view_append_irc_message (GossipChatView *view, + GossipMessage *msg) +{ + GossipChatViewPriv *priv; + GossipContact *sender; + GossipContact *my_contact; + const gchar *name; + const gchar *body; + const gchar *nick_tag; + const gchar *body_tag; + GtkTextIter iter; + gchar *tmp; + + priv = GET_PRIV (view); + + gossip_debug (DEBUG_DOMAIN, "Add IRC message"); + + body = gossip_message_get_body (msg); + sender = gossip_message_get_sender (msg); + my_contact = gossip_contact_get_user (sender); + name = gossip_contact_get_name (sender); + + if (gossip_contact_equal (sender, my_contact)) { + nick_tag = "irc-nick-self"; + body_tag = "irc-body-self"; + } else { + if (gossip_chat_should_highlight_nick (msg)) { + nick_tag = "irc-nick-highlight"; + } else { + nick_tag = "irc-nick-other"; + } + + body_tag = "irc-body-other"; + } + + if (priv->last_block_type != BLOCK_TYPE_SELF && + priv->last_block_type != BLOCK_TYPE_OTHER) { + chat_view_append_spacing (view); + } + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + + /* The nickname. */ + tmp = g_strdup_printf ("%s: ", name); + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, + &iter, + tmp, + -1, + "cut", + nick_tag, + NULL); + g_free (tmp); + + /* The text body. */ + chat_view_append_text (view, body, body_tag); +} + +static void +chat_view_append_fancy_message (GossipChatView *view, + GossipMessage *msg) +{ + GossipChatViewPriv *priv; + GossipContact *sender; + GossipContact *my_contact; + const gchar *body; + const gchar *tag; + + priv = GET_PRIV (view); + + sender = gossip_message_get_sender (msg); + my_contact = gossip_contact_get_user (sender); + + if (gossip_contact_equal (sender, my_contact)) { + tag = "fancy-body-self"; + } else { + tag = "fancy-body-other"; + + /* FIXME: Might want to support nick highlighting here... */ + } + + body = gossip_message_get_body (msg); + chat_view_append_text (view, body, tag); +} + +static void +chat_view_theme_changed_cb (GossipThemeManager *manager, + GossipChatView *view) +{ + GossipChatViewPriv *priv; + gboolean show_avatars = FALSE; + gboolean theme_rooms = FALSE; + + priv = GET_PRIV (view); + + priv->last_block_type = BLOCK_TYPE_NONE; + + gossip_conf_get_bool (gossip_conf_get (), + GOSSIP_PREFS_CHAT_THEME_CHAT_ROOM, + &theme_rooms); + if (!theme_rooms && priv->is_group_chat) { + gossip_theme_manager_apply (manager, view, NULL); + } else { + gossip_theme_manager_apply_saved (manager, view); + } + + /* Needed for now to update the "rise" property of the names to get it + * vertically centered. + */ + gossip_conf_get_bool (gossip_conf_get (), + GOSSIP_PREFS_UI_SHOW_AVATARS, + &show_avatars); + gossip_theme_manager_update_show_avatars (manager, view, show_avatars); +} + +/* Pads a pixbuf to the specified size, by centering it in a larger transparent + * pixbuf. Returns a new ref. + */ +static GdkPixbuf * +chat_view_pad_to_size (GdkPixbuf *pixbuf, + gint width, + gint height, + gint extra_padding_right) +{ + gint src_width, src_height; + GdkPixbuf *padded; + gint x_offset, y_offset; + + src_width = gdk_pixbuf_get_width (pixbuf); + src_height = gdk_pixbuf_get_height (pixbuf); + + x_offset = (width - src_width) / 2; + y_offset = (height - src_height) / 2; + + padded = gdk_pixbuf_new (gdk_pixbuf_get_colorspace (pixbuf), + TRUE, /* alpha */ + gdk_pixbuf_get_bits_per_sample (pixbuf), + width + extra_padding_right, + height); + + gdk_pixbuf_fill (padded, 0); + + gdk_pixbuf_copy_area (pixbuf, + 0, /* source coords */ + 0, + src_width, + src_height, + padded, + x_offset, /* dest coords */ + y_offset); + + return padded; +} + +GossipChatView * +gossip_chat_view_new (void) +{ + return g_object_new (GOSSIP_TYPE_CHAT_VIEW, NULL); +} + +/* The name is optional, if NULL, the sender for msg is used. */ +void +gossip_chat_view_append_message (GossipChatView *view, + GossipMessage *msg) +{ + GossipChatViewPriv *priv; + GossipContact *sender; + GossipContact *my_contact; + const gchar *body; + gboolean scroll_down; + + g_return_if_fail (GOSSIP_IS_CHAT_VIEW (view)); + g_return_if_fail (GOSSIP_IS_MESSAGE (msg)); + + priv = GET_PRIV (view); + + body = gossip_message_get_body (msg); + if (!body) { + return; + } + + scroll_down = chat_view_is_scrolled_down (view); + + chat_view_maybe_trim_buffer (view); + chat_view_maybe_append_date_and_time (view, msg); + + sender = gossip_message_get_sender (msg); + + if (!priv->irc_style) { + chat_view_maybe_append_fancy_header (view, msg); + } + + if (gossip_message_get_type (msg) == GOSSIP_MESSAGE_TYPE_ACTION) { + if (priv->irc_style) { + chat_view_append_irc_action (view, msg); + } else { + chat_view_append_fancy_action (view, msg); + } + } else { + if (priv->irc_style) { + chat_view_append_irc_message (view, msg); + } else { + chat_view_append_fancy_message (view, msg); + } + } + + my_contact = gossip_contact_get_user (sender); + + /* Reset the last inserted contact. */ + if (priv->last_contact) { + g_object_unref (priv->last_contact); + } + + if (gossip_contact_equal (my_contact, sender)) { + priv->last_block_type = BLOCK_TYPE_SELF; + priv->last_contact = NULL; + } else { + priv->last_block_type = BLOCK_TYPE_OTHER; + priv->last_contact = g_object_ref (sender); + } + + if (scroll_down) { + gossip_chat_view_scroll_down (view); + } +} + +void +gossip_chat_view_append_event (GossipChatView *view, + const gchar *str) +{ + GossipChatViewPriv *priv; + gboolean bottom; + GtkTextIter iter; + gchar *msg; + const gchar *tag; + + g_return_if_fail (GOSSIP_IS_CHAT_VIEW (view)); + g_return_if_fail (!G_STR_EMPTY (str)); + + priv = GET_PRIV (view); + + bottom = chat_view_is_scrolled_down (view); + + chat_view_maybe_trim_buffer (view); + + if (priv->irc_style) { + tag = "irc-event"; + msg = g_strdup_printf (" - %s\n", str); + } else { + tag = "fancy-event"; + msg = g_strdup_printf (" - %s\n", str); + } + + if (priv->last_block_type != BLOCK_TYPE_EVENT) { + /* Comment out for now. */ + /*chat_view_append_spacing (view);*/ + } + + chat_view_maybe_append_date_and_time (view, NULL); + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, &iter, + msg, -1, + tag, + NULL); + g_free (msg); + + if (bottom) { + gossip_chat_view_scroll_down (view); + } + + priv->last_block_type = BLOCK_TYPE_EVENT; +} + +void +gossip_chat_view_append_button (GossipChatView *view, + const gchar *message, + GtkWidget *button1, + GtkWidget *button2) +{ + GossipChatViewPriv *priv; + GtkTextChildAnchor *anchor; + GtkTextIter iter; + gboolean bottom; + const gchar *tag; + + g_return_if_fail (GOSSIP_IS_CHAT_VIEW (view)); + g_return_if_fail (button1 != NULL); + + priv = GET_PRIV (view); + + if (priv->irc_style) { + tag = "irc-invite"; + } else { + tag = "fancy-invite"; + } + + bottom = chat_view_is_scrolled_down (view); + + chat_view_maybe_append_date_and_time (view, NULL); + + if (message) { + chat_view_append_text (view, message, tag); + } + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + + anchor = gtk_text_buffer_create_child_anchor (priv->buffer, &iter); + gtk_text_view_add_child_at_anchor (GTK_TEXT_VIEW (view), button1, anchor); + gtk_widget_show (button1); + + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, + &iter, + " ", + 1, + tag, + NULL); + + if (button2) { + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + + anchor = gtk_text_buffer_create_child_anchor (priv->buffer, &iter); + gtk_text_view_add_child_at_anchor (GTK_TEXT_VIEW (view), button2, anchor); + gtk_widget_show (button2); + + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, + &iter, + " ", + 1, + tag, + NULL); + } + + gtk_text_buffer_get_end_iter (priv->buffer, &iter); + gtk_text_buffer_insert_with_tags_by_name (priv->buffer, + &iter, + "\n\n", + 2, + tag, + NULL); + + if (bottom) { + gossip_chat_view_scroll_down (view); + } + + priv->last_block_type = BLOCK_TYPE_INVITE; +} + +void +gossip_chat_view_scroll (GossipChatView *view, + gboolean allow_scrolling) +{ + GossipChatViewPriv *priv; + + g_return_if_fail (GOSSIP_IS_CHAT_VIEW (view)); + + priv = GET_PRIV (view); + + priv->allow_scrolling = allow_scrolling; + + gossip_debug (DEBUG_DOMAIN, "Scrolling %s", + allow_scrolling ? "enabled" : "disabled"); +} + +void +gossip_chat_view_scroll_down (GossipChatView *view) +{ + GossipChatViewPriv *priv; + GtkTextBuffer *buffer; + GtkTextIter iter; + GtkTextMark *mark; + + g_return_if_fail (GOSSIP_IS_CHAT_VIEW (view)); + + priv = GET_PRIV (view); + + if (!priv->allow_scrolling) { + return; + } + + gossip_debug (DEBUG_DOMAIN, "Scrolling down"); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); + + gtk_text_buffer_get_end_iter (buffer, &iter); + mark = gtk_text_buffer_create_mark (buffer, + NULL, + &iter, + FALSE); + + gtk_text_view_scroll_to_mark (GTK_TEXT_VIEW (view), + mark, + 0.0, + FALSE, + 0, + 0); + + gtk_text_buffer_delete_mark (buffer, mark); +} + +gboolean +gossip_chat_view_get_selection_bounds (GossipChatView *view, + GtkTextIter *start, + GtkTextIter *end) +{ + GtkTextBuffer *buffer; + + g_return_val_if_fail (GOSSIP_IS_CHAT_VIEW (view), FALSE); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); + + return gtk_text_buffer_get_selection_bounds (buffer, start, end); +} + +void +gossip_chat_view_clear (GossipChatView *view) +{ + GtkTextBuffer *buffer; + GossipChatViewPriv *priv; + + g_return_if_fail (GOSSIP_IS_CHAT_VIEW (view)); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); + gtk_text_buffer_set_text (buffer, "", -1); + + /* We set these back to the initial values so we get + * timestamps when clearing the window to know when + * conversations start. + */ + priv = GET_PRIV (view); + + priv->last_block_type = BLOCK_TYPE_NONE; + priv->last_timestamp = 0; +} + +gboolean +gossip_chat_view_find_previous (GossipChatView *view, + const gchar *search_criteria, + gboolean new_search) +{ + GossipChatViewPriv *priv; + GtkTextBuffer *buffer; + GtkTextIter iter_at_mark; + GtkTextIter iter_match_start; + GtkTextIter iter_match_end; + gboolean found; + gboolean from_start = FALSE; + + g_return_val_if_fail (GOSSIP_IS_CHAT_VIEW (view), FALSE); + g_return_val_if_fail (search_criteria != NULL, FALSE); + + priv = GET_PRIV (view); + + buffer = priv->buffer; + + if (G_STR_EMPTY (search_criteria)) { + if (priv->find_mark_previous) { + gtk_text_buffer_get_start_iter (buffer, &iter_at_mark); + + gtk_text_buffer_move_mark (buffer, + priv->find_mark_previous, + &iter_at_mark); + gtk_text_view_scroll_to_mark (GTK_TEXT_VIEW (view), + priv->find_mark_previous, + 0.0, + TRUE, + 0.0, + 0.0); + gtk_text_buffer_select_range (buffer, + &iter_at_mark, + &iter_at_mark); + } + + return FALSE; + } + + if (new_search) { + from_start = TRUE; + } + + if (priv->find_mark_previous) { + gtk_text_buffer_get_iter_at_mark (buffer, + &iter_at_mark, + priv->find_mark_previous); + } else { + gtk_text_buffer_get_end_iter (buffer, &iter_at_mark); + from_start = TRUE; + } + + priv->find_last_direction = FALSE; + + found = gossip_text_iter_backward_search (&iter_at_mark, + search_criteria, + &iter_match_start, + &iter_match_end, + NULL); + + if (!found) { + gboolean result = FALSE; + + if (from_start) { + return result; + } + + /* Here we wrap around. */ + if (!new_search && !priv->find_wrapped) { + priv->find_wrapped = TRUE; + result = gossip_chat_view_find_previous (view, + search_criteria, + FALSE); + priv->find_wrapped = FALSE; + } + + return result; + } + + /* Set new mark and show on screen */ + if (!priv->find_mark_previous) { + priv->find_mark_previous = gtk_text_buffer_create_mark (buffer, NULL, + &iter_match_start, + TRUE); + } else { + gtk_text_buffer_move_mark (buffer, + priv->find_mark_previous, + &iter_match_start); + } + + if (!priv->find_mark_next) { + priv->find_mark_next = gtk_text_buffer_create_mark (buffer, NULL, + &iter_match_end, + TRUE); + } else { + gtk_text_buffer_move_mark (buffer, + priv->find_mark_next, + &iter_match_end); + } + + gtk_text_view_scroll_to_mark (GTK_TEXT_VIEW (view), + priv->find_mark_previous, + 0.0, + TRUE, + 0.5, + 0.5); + + gtk_text_buffer_move_mark_by_name (buffer, "selection_bound", &iter_match_start); + gtk_text_buffer_move_mark_by_name (buffer, "insert", &iter_match_end); + + return TRUE; +} + +gboolean +gossip_chat_view_find_next (GossipChatView *view, + const gchar *search_criteria, + gboolean new_search) +{ + GossipChatViewPriv *priv; + GtkTextBuffer *buffer; + GtkTextIter iter_at_mark; + GtkTextIter iter_match_start; + GtkTextIter iter_match_end; + gboolean found; + gboolean from_start = FALSE; + + g_return_val_if_fail (GOSSIP_IS_CHAT_VIEW (view), FALSE); + g_return_val_if_fail (search_criteria != NULL, FALSE); + + priv = GET_PRIV (view); + + buffer = priv->buffer; + + if (G_STR_EMPTY (search_criteria)) { + if (priv->find_mark_next) { + gtk_text_buffer_get_start_iter (buffer, &iter_at_mark); + + gtk_text_buffer_move_mark (buffer, + priv->find_mark_next, + &iter_at_mark); + gtk_text_view_scroll_to_mark (GTK_TEXT_VIEW (view), + priv->find_mark_next, + 0.0, + TRUE, + 0.0, + 0.0); + gtk_text_buffer_select_range (buffer, + &iter_at_mark, + &iter_at_mark); + } + + return FALSE; + } + + if (new_search) { + from_start = TRUE; + } + + if (priv->find_mark_next) { + gtk_text_buffer_get_iter_at_mark (buffer, + &iter_at_mark, + priv->find_mark_next); + } else { + gtk_text_buffer_get_start_iter (buffer, &iter_at_mark); + from_start = TRUE; + } + + priv->find_last_direction = TRUE; + + found = gossip_text_iter_forward_search (&iter_at_mark, + search_criteria, + &iter_match_start, + &iter_match_end, + NULL); + + if (!found) { + gboolean result = FALSE; + + if (from_start) { + return result; + } + + /* Here we wrap around. */ + if (!new_search && !priv->find_wrapped) { + priv->find_wrapped = TRUE; + result = gossip_chat_view_find_next (view, + search_criteria, + FALSE); + priv->find_wrapped = FALSE; + } + + return result; + } + + /* Set new mark and show on screen */ + if (!priv->find_mark_next) { + priv->find_mark_next = gtk_text_buffer_create_mark (buffer, NULL, + &iter_match_end, + TRUE); + } else { + gtk_text_buffer_move_mark (buffer, + priv->find_mark_next, + &iter_match_end); + } + + if (!priv->find_mark_previous) { + priv->find_mark_previous = gtk_text_buffer_create_mark (buffer, NULL, + &iter_match_start, + TRUE); + } else { + gtk_text_buffer_move_mark (buffer, + priv->find_mark_previous, + &iter_match_start); + } + + gtk_text_view_scroll_to_mark (GTK_TEXT_VIEW (view), + priv->find_mark_next, + 0.0, + TRUE, + 0.5, + 0.5); + + gtk_text_buffer_move_mark_by_name (buffer, "selection_bound", &iter_match_start); + gtk_text_buffer_move_mark_by_name (buffer, "insert", &iter_match_end); + + return TRUE; +} + + +void +gossip_chat_view_find_abilities (GossipChatView *view, + const gchar *search_criteria, + gboolean *can_do_previous, + gboolean *can_do_next) +{ + GossipChatViewPriv *priv; + GtkTextBuffer *buffer; + GtkTextIter iter_at_mark; + GtkTextIter iter_match_start; + GtkTextIter iter_match_end; + + g_return_if_fail (GOSSIP_IS_CHAT_VIEW (view)); + g_return_if_fail (search_criteria != NULL); + g_return_if_fail (can_do_previous != NULL && can_do_next != NULL); + + priv = GET_PRIV (view); + + buffer = priv->buffer; + + if (can_do_previous) { + if (priv->find_mark_previous) { + gtk_text_buffer_get_iter_at_mark (buffer, + &iter_at_mark, + priv->find_mark_previous); + } else { + gtk_text_buffer_get_start_iter (buffer, &iter_at_mark); + } + + *can_do_previous = gossip_text_iter_backward_search (&iter_at_mark, + search_criteria, + &iter_match_start, + &iter_match_end, + NULL); + } + + if (can_do_next) { + if (priv->find_mark_next) { + gtk_text_buffer_get_iter_at_mark (buffer, + &iter_at_mark, + priv->find_mark_next); + } else { + gtk_text_buffer_get_start_iter (buffer, &iter_at_mark); + } + + *can_do_next = gossip_text_iter_forward_search (&iter_at_mark, + search_criteria, + &iter_match_start, + &iter_match_end, + NULL); + } +} + +void +gossip_chat_view_highlight (GossipChatView *view, + const gchar *text) +{ + GtkTextBuffer *buffer; + GtkTextIter iter; + GtkTextIter iter_start; + GtkTextIter iter_end; + GtkTextIter iter_match_start; + GtkTextIter iter_match_end; + gboolean found; + + g_return_if_fail (GOSSIP_IS_CHAT_VIEW (view)); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); + + gtk_text_buffer_get_start_iter (buffer, &iter); + + gtk_text_buffer_get_bounds (buffer, &iter_start, &iter_end); + gtk_text_buffer_remove_tag_by_name (buffer, "highlight", + &iter_start, + &iter_end); + + if (G_STR_EMPTY (text)) { + return; + } + + while (1) { + found = gossip_text_iter_forward_search (&iter, + text, + &iter_match_start, + &iter_match_end, + NULL); + + if (!found) { + break; + } + + gtk_text_buffer_apply_tag_by_name (buffer, "highlight", + &iter_match_start, + &iter_match_end); + + iter = iter_match_end; + gtk_text_iter_forward_char (&iter); + } +} + +void +gossip_chat_view_copy_clipboard (GossipChatView *view) +{ + GtkTextBuffer *buffer; + GtkClipboard *clipboard; + + g_return_if_fail (GOSSIP_IS_CHAT_VIEW (view)); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); + clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); + + gtk_text_buffer_copy_clipboard (buffer, clipboard); +} + +gboolean +gossip_chat_view_get_irc_style (GossipChatView *view) +{ + GossipChatViewPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CHAT_VIEW (view), FALSE); + + priv = GET_PRIV (view); + + return priv->irc_style; +} + +void +gossip_chat_view_set_irc_style (GossipChatView *view, + gboolean irc_style) +{ + GossipChatViewPriv *priv; + + g_return_if_fail (GOSSIP_IS_CHAT_VIEW (view)); + + priv = GET_PRIV (view); + + priv->irc_style = irc_style; +} + +void +gossip_chat_view_set_margin (GossipChatView *view, + gint margin) +{ + GossipChatViewPriv *priv; + + g_return_if_fail (GOSSIP_IS_CHAT_VIEW (view)); + + priv = GET_PRIV (view); + + g_object_set (view, + "left-margin", margin, + "right-margin", margin, + NULL); +} + +GdkPixbuf * +gossip_chat_view_get_smiley_image (GossipSmiley smiley) +{ + static GdkPixbuf *pixbufs[GOSSIP_SMILEY_COUNT]; + static gboolean inited = FALSE; + + if (!inited) { + gint i; + + for (i = 0; i < GOSSIP_SMILEY_COUNT; i++) { + pixbufs[i] = gossip_pixbuf_from_smiley (i, GTK_ICON_SIZE_MENU); + } + + inited = TRUE; + } + + return pixbufs[smiley]; +} + +const gchar * +gossip_chat_view_get_smiley_text (GossipSmiley smiley) +{ + gint i; + + for (i = 0; i < G_N_ELEMENTS (smileys); i++) { + if (smileys[i].smiley != smiley) { + continue; + } + + return smileys[i].pattern; + } + + return NULL; +} + +GtkWidget * +gossip_chat_view_get_smiley_menu (GCallback callback, + gpointer user_data, + GtkTooltips *tooltips) +{ + GtkWidget *menu; + gint x; + gint y; + gint i; + + g_return_val_if_fail (callback != NULL, NULL); + + menu = gtk_menu_new (); + + for (i = 0, x = 0, y = 0; i < GOSSIP_SMILEY_COUNT; i++) { + GtkWidget *item; + GtkWidget *image; + GdkPixbuf *pixbuf; + const gchar *smiley_text; + + pixbuf = gossip_chat_view_get_smiley_image (i); + if (!pixbuf) { + continue; + } + + image = gtk_image_new_from_pixbuf (pixbuf); + + item = gtk_image_menu_item_new_with_label (""); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); + + gtk_menu_attach (GTK_MENU (menu), item, + x, x + 1, y, y + 1); + + smiley_text = gossip_chat_view_get_smiley_text (i); + + gtk_tooltips_set_tip (tooltips, + item, + smiley_text, + NULL); + + g_object_set_data (G_OBJECT (item), "smiley_text", (gpointer) smiley_text); + g_signal_connect (item, "activate", callback, user_data); + + if (x > 3) { + y++; + x = 0; + } else { + x++; + } + } + + gtk_widget_show_all (menu); + + return menu; +} + +/* FIXME: Do we really need this? Better to do it internally only at setup time, + * we will never change it on the fly. + */ +void +gossip_chat_view_set_is_group_chat (GossipChatView *view, + gboolean is_group_chat) +{ + GossipChatViewPriv *priv; + gboolean theme_rooms = FALSE; + + g_return_if_fail (GOSSIP_IS_CHAT_VIEW (view)); + + priv = GET_PRIV (view); + + priv->is_group_chat = is_group_chat; + + gossip_conf_get_bool (gossip_conf_get (), + GOSSIP_PREFS_CHAT_THEME_CHAT_ROOM, + &theme_rooms); + + if (!theme_rooms && is_group_chat) { + gossip_theme_manager_apply (gossip_theme_manager_get (), + view, + NULL); + } else { + gossip_theme_manager_apply_saved (gossip_theme_manager_get (), + view); + } +} diff --git a/trunk/libempathy-gtk/gossip-chat-view.h b/trunk/libempathy-gtk/gossip-chat-view.h new file mode 100644 index 000000000..2a7b11472 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-chat-view.h @@ -0,0 +1,134 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2002-2007 Imendio AB + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + */ + +#ifndef __GOSSIP_CHAT_VIEW_H__ +#define __GOSSIP_CHAT_VIEW_H__ + +#include <gtk/gtktextview.h> +#include <gtk/gtktooltips.h> + +#include <libempathy/gossip-contact.h> +#include <libempathy/gossip-message.h> + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_CHAT_VIEW (gossip_chat_view_get_type ()) +#define GOSSIP_CHAT_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_CHAT_VIEW, GossipChatView)) +#define GOSSIP_CHAT_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GOSSIP_TYPE_CHAT_VIEW, GossipChatViewClass)) +#define GOSSIP_IS_CHAT_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_CHAT_VIEW)) +#define GOSSIP_IS_CHAT_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_CHAT_VIEW)) +#define GOSSIP_CHAT_VIEW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_CHAT_VIEW, GossipChatViewClass)) + +typedef struct _GossipChatView GossipChatView; +typedef struct _GossipChatViewClass GossipChatViewClass; +typedef struct _GossipChatViewPriv GossipChatViewPriv; + +struct _GossipChatView { + GtkTextView parent; +}; + +struct _GossipChatViewClass { + GtkTextViewClass parent_class; +}; + +typedef enum { + GOSSIP_SMILEY_NORMAL, /* :) */ + GOSSIP_SMILEY_WINK, /* ;) */ + GOSSIP_SMILEY_BIGEYE, /* =) */ + GOSSIP_SMILEY_NOSE, /* :-) */ + GOSSIP_SMILEY_CRY, /* :'( */ + GOSSIP_SMILEY_SAD, /* :( */ + GOSSIP_SMILEY_SCEPTICAL, /* :/ */ + GOSSIP_SMILEY_BIGSMILE, /* :D */ + GOSSIP_SMILEY_INDIFFERENT, /* :| */ + GOSSIP_SMILEY_TOUNGE, /* :p */ + GOSSIP_SMILEY_SHOCKED, /* :o */ + GOSSIP_SMILEY_COOL, /* 8) */ + GOSSIP_SMILEY_SORRY, /* *| */ + GOSSIP_SMILEY_KISS, /* :* */ + GOSSIP_SMILEY_SHUTUP, /* :# */ + GOSSIP_SMILEY_YAWN, /* |O */ + GOSSIP_SMILEY_CONFUSED, /* :$ */ + GOSSIP_SMILEY_ANGEL, /* <) */ + GOSSIP_SMILEY_OOOH, /* :x */ + GOSSIP_SMILEY_LOOKAWAY, /* *) */ + GOSSIP_SMILEY_BLUSH, /* *S */ + GOSSIP_SMILEY_COOLBIGSMILE, /* 8D */ + GOSSIP_SMILEY_ANGRY, /* :@ */ + GOSSIP_SMILEY_BOSS, /* @) */ + GOSSIP_SMILEY_MONKEY, /* #) */ + GOSSIP_SMILEY_SILLY, /* O) */ + GOSSIP_SMILEY_SICK, /* +o( */ + + GOSSIP_SMILEY_COUNT +} GossipSmiley; + +GType gossip_chat_view_get_type (void) G_GNUC_CONST; +GossipChatView *gossip_chat_view_new (void); +void gossip_chat_view_append_message (GossipChatView *view, + GossipMessage *msg); +void gossip_chat_view_append_event (GossipChatView *view, + const gchar *str); +void gossip_chat_view_append_button (GossipChatView *view, + const gchar *message, + GtkWidget *button1, + GtkWidget *button2); +void gossip_chat_view_set_margin (GossipChatView *view, + gint margin); +void gossip_chat_view_scroll (GossipChatView *view, + gboolean allow_scrolling); +void gossip_chat_view_scroll_down (GossipChatView *view); +gboolean gossip_chat_view_get_selection_bounds (GossipChatView *view, + GtkTextIter *start, + GtkTextIter *end); +void gossip_chat_view_clear (GossipChatView *view); +gboolean gossip_chat_view_find_previous (GossipChatView *view, + const gchar *search_criteria, + gboolean new_search); +gboolean gossip_chat_view_find_next (GossipChatView *view, + const gchar *search_criteria, + gboolean new_search); +void gossip_chat_view_find_abilities (GossipChatView *view, + const gchar *search_criteria, + gboolean *can_do_previous, + gboolean *can_do_next); +void gossip_chat_view_highlight (GossipChatView *view, + const gchar *text); +void gossip_chat_view_copy_clipboard (GossipChatView *view); +gboolean gossip_chat_view_get_irc_style (GossipChatView *view); +void gossip_chat_view_set_irc_style (GossipChatView *view, + gboolean irc_style); +void gossip_chat_view_set_margin (GossipChatView *view, + gint margin); +GdkPixbuf * gossip_chat_view_get_smiley_image (GossipSmiley smiley); +const gchar * gossip_chat_view_get_smiley_text (GossipSmiley smiley); +GtkWidget * gossip_chat_view_get_smiley_menu (GCallback callback, + gpointer user_data, + GtkTooltips *tooltips); +void gossip_chat_view_set_is_group_chat (GossipChatView *view, + gboolean is_group_chat); + +G_END_DECLS + +#endif /* __GOSSIP_CHAT_VIEW_H__ */ diff --git a/trunk/libempathy-gtk/gossip-chat-window.c b/trunk/libempathy-gtk/gossip-chat-window.c new file mode 100644 index 000000000..6979e450e --- /dev/null +++ b/trunk/libempathy-gtk/gossip-chat-window.c @@ -0,0 +1,1910 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2003-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Geert-Jan Van den Bogaerde <geertjan@gnome.org> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include <string.h> + +#include <gtk/gtk.h> +#include <gdk/gdkkeysyms.h> +#include <glade/glade.h> +#include <glib/gi18n.h> + +#include <libempathy/empathy-contact-manager.h> +#include <libempathy/empathy-contact-list.h> +#include <libempathy/gossip-chatroom-manager.h> +#include <libempathy/gossip-contact.h> +#include <libempathy/gossip-debug.h> +#include <libempathy/gossip-message.h> +#include <libempathy/gossip-conf.h> +#include <libempathy/gossip-utils.h> + +#include "gossip-chat-window.h" +#include "empathy-images.h" +//#include "gossip-add-contact-dialog.h" +//#include "gossip-chat-invite.h" +//#include "gossip-contact-info-dialog.h" +//#include "gossip-log-window.h" +#include "gossip-new-chatroom-dialog.h" +#include "gossip-preferences.h" +#include "gossip-private-chat.h" +#include "gossip-group-chat.h" +//#include "gossip-sound.h" +#include "gossip-ui-utils.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_CHAT_WINDOW, GossipChatWindowPriv)) + +#define DEBUG_DOMAIN "ChatWindow" + +#define URGENCY_TIMEOUT 60*1000 + +struct _GossipChatWindowPriv { + GList *chats; + GList *chats_new_msg; + GList *chats_composing; + + GossipChat *current_chat; + + gboolean page_added; + gboolean dnd_same_window; + + guint urgency_timeout_id; + + GtkWidget *dialog; + GtkWidget *notebook; + + GtkTooltips *tooltips; + + /* Menu items. */ + GtkWidget *menu_conv_clear; + GtkWidget *menu_conv_insert_smiley; + GtkWidget *menu_conv_log; + GtkWidget *menu_conv_separator; + GtkWidget *menu_conv_add_contact; + GtkWidget *menu_conv_info; + GtkWidget *menu_conv_close; + + GtkWidget *menu_room; + GtkWidget *menu_room_set_topic; + GtkWidget *menu_room_join_new; + GtkWidget *menu_room_invite; + GtkWidget *menu_room_add; + GtkWidget *menu_room_show_contacts; + + GtkWidget *menu_edit_cut; + GtkWidget *menu_edit_copy; + GtkWidget *menu_edit_paste; + + GtkWidget *menu_tabs_next; + GtkWidget *menu_tabs_prev; + GtkWidget *menu_tabs_left; + GtkWidget *menu_tabs_right; + GtkWidget *menu_tabs_detach; + + guint save_geometry_id; +}; + +static void gossip_chat_window_class_init (GossipChatWindowClass *klass); +static void gossip_chat_window_init (GossipChatWindow *window); +static void gossip_chat_window_finalize (GObject *object); +static void chat_window_accel_cb (GtkAccelGroup *accelgroup, + GObject *object, + guint key, + GdkModifierType mod, + GossipChatWindow *window); +static void chat_window_close_clicked_cb (GtkWidget *button, + GossipChat *chat); +static GtkWidget *chat_window_create_label (GossipChatWindow *window, + GossipChat *chat); +static void chat_window_update_status (GossipChatWindow *window, + GossipChat *chat); +static void chat_window_update_title (GossipChatWindow *window, + GossipChat *chat); +static void chat_window_update_menu (GossipChatWindow *window); +static gboolean chat_window_save_geometry_timeout_cb (GossipChatWindow *window); +static gboolean chat_window_configure_event_cb (GtkWidget *widget, + GdkEventConfigure *event, + GossipChatWindow *window); +static void chat_window_conv_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_clear_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_info_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_add_contact_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_log_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_show_contacts_toggled_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_edit_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_insert_smiley_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_close_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_room_set_topic_activate_cb(GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_room_join_new_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_room_invite_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_room_add_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_cut_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_copy_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_paste_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_tabs_left_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_tabs_right_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static void chat_window_detach_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window); +static gboolean chat_window_delete_event_cb (GtkWidget *dialog, + GdkEvent *event, + GossipChatWindow *window); +static void chat_window_status_changed_cb (GossipChat *chat, + GossipChatWindow *window); +static void chat_window_update_tooltip (GossipChatWindow *window, + GossipChat *chat); +static void chat_window_name_changed_cb (GossipChat *chat, + const gchar *name, + GossipChatWindow *window); +static void chat_window_composing_cb (GossipChat *chat, + gboolean is_composing, + GossipChatWindow *window); +static void chat_window_new_message_cb (GossipChat *chat, + GossipMessage *message, + gboolean is_backlog, + GossipChatWindow *window); +static GtkNotebook* chat_window_detach_hook (GtkNotebook *source, + GtkWidget *page, + gint x, + gint y, + gpointer user_data); +static void chat_window_page_switched_cb (GtkNotebook *notebook, + GtkNotebookPage *page, + gint page_num, + GossipChatWindow *window); +static void chat_window_page_reordered_cb (GtkNotebook *notebook, + GtkWidget *widget, + guint page_num, + GossipChatWindow *window); +static void chat_window_page_added_cb (GtkNotebook *notebook, + GtkWidget *child, + guint page_num, + GossipChatWindow *window); +static void chat_window_page_removed_cb (GtkNotebook *notebook, + GtkWidget *child, + guint page_num, + GossipChatWindow *window); +static gboolean chat_window_focus_in_event_cb (GtkWidget *widget, + GdkEvent *event, + GossipChatWindow *window); +static void chat_window_drag_data_received (GtkWidget *widget, + GdkDragContext *context, + int x, + int y, + GtkSelectionData *selection, + guint info, + guint time, + GossipChatWindow *window); +static void chat_window_set_urgency_hint (GossipChatWindow *window, + gboolean urgent); + + +static GList *chat_windows = NULL; + +static const guint tab_accel_keys[] = { + GDK_1, GDK_2, GDK_3, GDK_4, GDK_5, + GDK_6, GDK_7, GDK_8, GDK_9, GDK_0 +}; + +typedef enum { + DND_DRAG_TYPE_CONTACT_ID, + DND_DRAG_TYPE_TAB +} DndDragType; + +static const GtkTargetEntry drag_types_dest[] = { + { "text/contact-id", 0, DND_DRAG_TYPE_CONTACT_ID }, + { "GTK_NOTEBOOK_TAB", GTK_TARGET_SAME_APP, DND_DRAG_TYPE_TAB }, +}; + +G_DEFINE_TYPE (GossipChatWindow, gossip_chat_window, G_TYPE_OBJECT); + +static void +gossip_chat_window_class_init (GossipChatWindowClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = gossip_chat_window_finalize; + + g_type_class_add_private (object_class, sizeof (GossipChatWindowPriv)); + + /* Set up a style for the close button with no focus padding. */ + gtk_rc_parse_string ( + "style \"gossip-close-button-style\"\n" + "{\n" + " GtkWidget::focus-padding = 0\n" + " xthickness = 0\n" + " ythickness = 0\n" + "}\n" + "widget \"*.gossip-close-button\" style \"gossip-close-button-style\""); + + gtk_notebook_set_window_creation_hook (chat_window_detach_hook, NULL, NULL); +} + +static void +gossip_chat_window_init (GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + GladeXML *glade; + GtkAccelGroup *accel_group; + GtkWidget *image; + GClosure *closure; + GtkWidget *menu_conv; + GtkWidget *menu; + gint i; + GtkWidget *chat_vbox; + + priv = GET_PRIV (window); + + priv->tooltips = g_object_ref_sink (gtk_tooltips_new ()); + + glade = gossip_glade_get_file ("gossip-chat.glade", + "chat_window", + NULL, + "chat_window", &priv->dialog, + "chat_vbox", &chat_vbox, + "menu_conv", &menu_conv, + "menu_conv_clear", &priv->menu_conv_clear, + "menu_conv_insert_smiley", &priv->menu_conv_insert_smiley, + "menu_conv_log", &priv->menu_conv_log, + "menu_conv_separator", &priv->menu_conv_separator, + "menu_conv_add_contact", &priv->menu_conv_add_contact, + "menu_conv_info", &priv->menu_conv_info, + "menu_conv_close", &priv->menu_conv_close, + "menu_room", &priv->menu_room, + "menu_room_set_topic", &priv->menu_room_set_topic, + "menu_room_join_new", &priv->menu_room_join_new, + "menu_room_invite", &priv->menu_room_invite, + "menu_room_add", &priv->menu_room_add, + "menu_room_show_contacts", &priv->menu_room_show_contacts, + "menu_edit_cut", &priv->menu_edit_cut, + "menu_edit_copy", &priv->menu_edit_copy, + "menu_edit_paste", &priv->menu_edit_paste, + "menu_tabs_next", &priv->menu_tabs_next, + "menu_tabs_prev", &priv->menu_tabs_prev, + "menu_tabs_left", &priv->menu_tabs_left, + "menu_tabs_right", &priv->menu_tabs_right, + "menu_tabs_detach", &priv->menu_tabs_detach, + NULL); + + gossip_glade_connect (glade, + window, + "chat_window", "configure-event", chat_window_configure_event_cb, + "menu_conv", "activate", chat_window_conv_activate_cb, + "menu_conv_clear", "activate", chat_window_clear_activate_cb, + "menu_conv_log", "activate", chat_window_log_activate_cb, + "menu_conv_add_contact", "activate", chat_window_add_contact_activate_cb, + "menu_conv_info", "activate", chat_window_info_activate_cb, + "menu_conv_close", "activate", chat_window_close_activate_cb, + "menu_room_set_topic", "activate", chat_window_room_set_topic_activate_cb, + "menu_room_join_new", "activate", chat_window_room_join_new_activate_cb, + "menu_room_invite", "activate", chat_window_room_invite_activate_cb, + "menu_room_add", "activate", chat_window_room_add_activate_cb, + "menu_edit", "activate", chat_window_edit_activate_cb, + "menu_edit_cut", "activate", chat_window_cut_activate_cb, + "menu_edit_copy", "activate", chat_window_copy_activate_cb, + "menu_edit_paste", "activate", chat_window_paste_activate_cb, + "menu_tabs_left", "activate", chat_window_tabs_left_activate_cb, + "menu_tabs_right", "activate", chat_window_tabs_right_activate_cb, + "menu_tabs_detach", "activate", chat_window_detach_activate_cb, + NULL); + + g_object_unref (glade); + + priv->notebook = gtk_notebook_new (); + gtk_notebook_set_group_id (GTK_NOTEBOOK (priv->notebook), 1); + gtk_box_pack_start (GTK_BOX (chat_vbox), priv->notebook, TRUE, TRUE, 0); + gtk_widget_show (priv->notebook); + + /* Set up accels */ + accel_group = gtk_accel_group_new (); + gtk_window_add_accel_group (GTK_WINDOW (priv->dialog), accel_group); + + for (i = 0; i < G_N_ELEMENTS (tab_accel_keys); i++) { + closure = g_cclosure_new (G_CALLBACK (chat_window_accel_cb), + window, + NULL); + gtk_accel_group_connect (accel_group, + tab_accel_keys[i], + GDK_MOD1_MASK, + 0, + closure); + } + + g_object_unref (accel_group); + + /* Set the contact information menu item image to the Gossip + * stock image + */ + image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (priv->menu_conv_info)); + gtk_image_set_from_icon_name (GTK_IMAGE (image), + EMPATHY_IMAGE_CONTACT_INFORMATION, + GTK_ICON_SIZE_MENU); + + /* Set up smiley menu */ + menu = gossip_chat_view_get_smiley_menu ( + G_CALLBACK (chat_window_insert_smiley_activate_cb), + window, + priv->tooltips); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (priv->menu_conv_insert_smiley), menu); + + /* Set up signals we can't do with glade since we may need to + * block/unblock them at some later stage. + */ + + g_signal_connect (priv->dialog, + "delete_event", + G_CALLBACK (chat_window_delete_event_cb), + window); + + g_signal_connect (priv->menu_room_show_contacts, + "toggled", + G_CALLBACK (chat_window_show_contacts_toggled_cb), + window); + + g_signal_connect_swapped (priv->menu_tabs_prev, + "activate", + G_CALLBACK (gtk_notebook_prev_page), + priv->notebook); + g_signal_connect_swapped (priv->menu_tabs_next, + "activate", + G_CALLBACK (gtk_notebook_next_page), + priv->notebook); + + g_signal_connect (priv->dialog, + "focus_in_event", + G_CALLBACK (chat_window_focus_in_event_cb), + window); + g_signal_connect_after (priv->notebook, + "switch_page", + G_CALLBACK (chat_window_page_switched_cb), + window); + g_signal_connect (priv->notebook, + "page_reordered", + G_CALLBACK (chat_window_page_reordered_cb), + window); + g_signal_connect (priv->notebook, + "page_added", + G_CALLBACK (chat_window_page_added_cb), + window); + g_signal_connect (priv->notebook, + "page_removed", + G_CALLBACK (chat_window_page_removed_cb), + window); + + /* Set up drag and drop */ + gtk_drag_dest_set (GTK_WIDGET (priv->notebook), + GTK_DEST_DEFAULT_ALL, + drag_types_dest, + G_N_ELEMENTS (drag_types_dest), + GDK_ACTION_MOVE); + + g_signal_connect (priv->notebook, + "drag-data-received", + G_CALLBACK (chat_window_drag_data_received), + window); + + chat_windows = g_list_prepend (chat_windows, window); + + /* Set up private details */ + priv->chats = NULL; + priv->chats_new_msg = NULL; + priv->chats_composing = NULL; + priv->current_chat = NULL; +} + +/* Returns the window to open a new tab in if there is only one window + * visble, otherwise, returns NULL indicating that a new window should + * be added. + */ +GossipChatWindow * +gossip_chat_window_get_default (void) +{ + GList *l; + gboolean separate_windows = TRUE; + + gossip_conf_get_bool (gossip_conf_get (), + GOSSIP_PREFS_UI_SEPARATE_CHAT_WINDOWS, + &separate_windows); + + if (separate_windows) { + /* Always create a new window */ + return NULL; + } + + for (l = chat_windows; l; l = l->next) { + GossipChatWindow *chat_window; + GtkWidget *dialog; + GdkWindow *window; + gboolean visible; + + chat_window = l->data; + + dialog = gossip_chat_window_get_dialog (chat_window); + window = dialog->window; + + g_object_get (dialog, + "visible", &visible, + NULL); + + visible = visible && !(gdk_window_get_state (window) & GDK_WINDOW_STATE_ICONIFIED); + + if (visible) { + /* Found a visible window on this desktop */ + return chat_window; + } + } + + return NULL; +} + +static void +gossip_chat_window_finalize (GObject *object) +{ + GossipChatWindow *window; + GossipChatWindowPriv *priv; + + window = GOSSIP_CHAT_WINDOW (object); + priv = GET_PRIV (window); + + gossip_debug (DEBUG_DOMAIN, "Finalized: %p", object); + + if (priv->save_geometry_id != 0) { + g_source_remove (priv->save_geometry_id); + } + + if (priv->urgency_timeout_id != 0) { + g_source_remove (priv->urgency_timeout_id); + } + + chat_windows = g_list_remove (chat_windows, window); + gtk_widget_destroy (priv->dialog); + + g_object_unref (priv->tooltips); + + G_OBJECT_CLASS (gossip_chat_window_parent_class)->finalize (object); +} + +static void +chat_window_accel_cb (GtkAccelGroup *accelgroup, + GObject *object, + guint key, + GdkModifierType mod, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + gint num = -1; + gint i; + + priv = GET_PRIV (window); + + for (i = 0; i < G_N_ELEMENTS (tab_accel_keys); i++) { + if (tab_accel_keys[i] == key) { + num = i; + break; + } + } + + if (num != -1) { + gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), num); + } +} + +static void +chat_window_close_clicked_cb (GtkWidget *button, + GossipChat *chat) +{ + GossipChatWindow *window; + + window = gossip_chat_get_window (chat); + gossip_chat_window_remove_chat (window, chat); +} + +static void +chat_window_close_button_style_set_cb (GtkWidget *button, + GtkStyle *previous_style, + gpointer user_data) +{ + gint h, w; + + gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (button), + GTK_ICON_SIZE_MENU, &w, &h); + + gtk_widget_set_size_request (button, w, h); +} + +static GtkWidget * +chat_window_create_label (GossipChatWindow *window, + GossipChat *chat) +{ + GossipChatWindowPriv *priv; + GtkWidget *hbox; + GtkWidget *name_label; + GtkWidget *status_image; + GtkWidget *close_button; + GtkWidget *close_image; + GtkWidget *event_box; + GtkWidget *event_box_hbox; + PangoAttrList *attr_list; + PangoAttribute *attr; + + priv = GET_PRIV (window); + + /* The spacing between the button and the label. */ + hbox = gtk_hbox_new (FALSE, 0); + + event_box = gtk_event_box_new (); + gtk_event_box_set_visible_window (GTK_EVENT_BOX (event_box), FALSE); + + name_label = gtk_label_new (gossip_chat_get_name (chat)); + gtk_label_set_ellipsize (GTK_LABEL (name_label), PANGO_ELLIPSIZE_END); + + attr_list = pango_attr_list_new (); + attr = pango_attr_scale_new (1/1.2); + attr->start_index = 0; + attr->end_index = -1; + pango_attr_list_insert (attr_list, attr); + gtk_label_set_attributes (GTK_LABEL (name_label), attr_list); + pango_attr_list_unref (attr_list); + + gtk_misc_set_padding (GTK_MISC (name_label), 2, 0); + gtk_misc_set_alignment (GTK_MISC (name_label), 0.0, 0.5); + g_object_set_data (G_OBJECT (chat), "chat-window-tab-label", name_label); + + status_image = gtk_image_new (); + + /* Spacing between the icon and label. */ + event_box_hbox = gtk_hbox_new (FALSE, 0); + + gtk_box_pack_start (GTK_BOX (event_box_hbox), status_image, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (event_box_hbox), name_label, TRUE, TRUE, 0); + + g_object_set_data (G_OBJECT (chat), "chat-window-tab-image", status_image); + g_object_set_data (G_OBJECT (chat), "chat-window-tab-tooltip-widget", event_box); + + close_button = gtk_button_new (); + gtk_button_set_relief (GTK_BUTTON (close_button), GTK_RELIEF_NONE); + + /* We don't want focus/keynav for the button to avoid clutter, and + * Ctrl-W works anyway. + */ + GTK_WIDGET_UNSET_FLAGS (close_button, GTK_CAN_FOCUS); + GTK_WIDGET_UNSET_FLAGS (close_button, GTK_CAN_DEFAULT); + + /* Set the name to make the special rc style match. */ + gtk_widget_set_name (close_button, "gossip-close-button"); + + close_image = gtk_image_new_from_stock (GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU); + + gtk_container_add (GTK_CONTAINER (close_button), close_image); + + gtk_container_add (GTK_CONTAINER (event_box), event_box_hbox); + gtk_box_pack_start (GTK_BOX (hbox), event_box, TRUE, TRUE, 0); + gtk_box_pack_end (GTK_BOX (hbox), close_button, FALSE, FALSE, 0); + + /* React to theme changes and also used to setup the initial size + * correctly. + */ + g_signal_connect (close_button, + "style-set", + G_CALLBACK (chat_window_close_button_style_set_cb), + chat); + + g_signal_connect (close_button, + "clicked", + G_CALLBACK (chat_window_close_clicked_cb), + chat); + + /* Set up tooltip */ + chat_window_update_tooltip (window, chat); + + gtk_widget_show_all (hbox); + + return hbox; +} + +static void +chat_window_update_status (GossipChatWindow *window, + GossipChat *chat) +{ + GossipChatWindowPriv *priv; + GtkImage *image; + const gchar *icon_name = NULL; + + priv = GET_PRIV (window); + + if (g_list_find (priv->chats_new_msg, chat)) { + icon_name = EMPATHY_IMAGE_MESSAGE; + } + else if (g_list_find (priv->chats_composing, chat)) { + icon_name = EMPATHY_IMAGE_TYPING; + } + else { + icon_name = gossip_chat_get_status_icon_name (chat); + } + image = g_object_get_data (G_OBJECT (chat), "chat-window-tab-image"); + gtk_image_set_from_icon_name (image, icon_name, GTK_ICON_SIZE_MENU); + + chat_window_update_title (window, chat); + chat_window_update_tooltip (window, chat); +} + +static void +chat_window_update_title (GossipChatWindow *window, + GossipChat *chat) +{ + GossipChatWindowPriv *priv; + const gchar *str; + gchar *title; + gint n_chats; + + priv = GET_PRIV (window); + + n_chats = g_list_length (priv->chats); + if (n_chats == 1) { + if (priv->chats_new_msg) { + title = g_strdup_printf ( + "%s - %s", + gossip_chat_get_name (priv->current_chat), + _("New Message")); + } + else if (gossip_chat_is_group_chat (priv->current_chat)) { + title = g_strdup_printf ( + "%s - %s", + gossip_chat_get_name (priv->current_chat), + _("Chat Room")); + } else { + title = g_strdup_printf ( + "%s - %s", + gossip_chat_get_name (priv->current_chat), + _("Conversation")); + } + } else { + if (priv->chats_new_msg) { + GString *names; + GList *l; + gint n_messages = 0; + + names = g_string_new (NULL); + + for (l = priv->chats_new_msg; l; l = l->next) { + n_messages++; + g_string_append (names, + gossip_chat_get_name (l->data)); + if (l->next) { + g_string_append (names, ", "); + } + } + + str = ngettext ("New Message", "New Messages", n_messages); + title = g_strdup_printf ("%s - %s", names->str, str); + g_string_free (names, TRUE); + } else { + str = ngettext ("Conversation", "Conversations (%d)", n_chats); + title = g_strdup_printf (str, n_chats); + } + } + + gtk_window_set_title (GTK_WINDOW (priv->dialog), title); + g_free (title); + + if (priv->chats_new_msg) { + gtk_window_set_icon_name (GTK_WINDOW (priv->dialog), + EMPATHY_IMAGE_MESSAGE); + } else { + gtk_window_set_icon_name (GTK_WINDOW (priv->dialog), NULL); + } +} + +static void +chat_window_update_menu (GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + gboolean first_page; + gboolean last_page; + gboolean is_connected; + gint num_pages; + gint page_num; + + priv = GET_PRIV (window); + + /* Notebook pages */ + page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->notebook)); + num_pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook)); + first_page = (page_num == 0); + last_page = (page_num == (num_pages - 1)); + + gtk_widget_set_sensitive (priv->menu_tabs_next, !last_page); + gtk_widget_set_sensitive (priv->menu_tabs_prev, !first_page); + gtk_widget_set_sensitive (priv->menu_tabs_detach, num_pages > 1); + gtk_widget_set_sensitive (priv->menu_tabs_left, !first_page); + gtk_widget_set_sensitive (priv->menu_tabs_right, !last_page); + + is_connected = gossip_chat_is_connected (priv->current_chat); + + if (gossip_chat_is_group_chat (priv->current_chat)) { + GossipGroupChat *group_chat; + GossipChatroom *chatroom; + GossipChatroomManager *manager; + gboolean show_contacts; + + group_chat = GOSSIP_GROUP_CHAT (priv->current_chat); + + /* Show / Hide widgets */ + gtk_widget_show (priv->menu_room); + + gtk_widget_hide (priv->menu_conv_add_contact); + gtk_widget_hide (priv->menu_conv_info); + gtk_widget_hide (priv->menu_conv_separator); + + /* Can we add this room to our favourites and are we + * connected to the room? + */ + manager = gossip_chatroom_manager_new (); + chatroom = gossip_chatroom_manager_find (manager, + priv->current_chat->account, + gossip_chat_get_id (priv->current_chat)); + g_object_unref (manager); + + gtk_widget_set_sensitive (priv->menu_room_add, chatroom == NULL); + gtk_widget_set_sensitive (priv->menu_conv_insert_smiley, is_connected); + gtk_widget_set_sensitive (priv->menu_room_join_new, is_connected); + gtk_widget_set_sensitive (priv->menu_room_invite, is_connected); + + /* We need to block the signal here because all we are + * really trying to do is check or uncheck the menu + * item. If we don't do this we get funny behaviour + * with 2 or more group chat windows where showing + * contacts doesn't do anything. + */ + show_contacts = gossip_group_chat_get_show_contacts (group_chat); + + g_signal_handlers_block_by_func (priv->menu_room_show_contacts, + chat_window_show_contacts_toggled_cb, + window); + + g_object_set (priv->menu_room_show_contacts, + "active", show_contacts, + NULL); + + g_signal_handlers_unblock_by_func (priv->menu_room_show_contacts, + chat_window_show_contacts_toggled_cb, + window); + } else { + GossipPrivateChat *chat; + GossipSubscription subscription; + GossipContact *contact; + + chat = GOSSIP_PRIVATE_CHAT (priv->current_chat); + + /* Show / Hide widgets */ + gtk_widget_hide (priv->menu_room); + + contact = gossip_private_chat_get_contact (chat); + subscription = gossip_contact_get_subscription (contact); + if (!(subscription & GOSSIP_SUBSCRIPTION_FROM)) { + gtk_widget_show (priv->menu_conv_add_contact); + } else { + gtk_widget_hide (priv->menu_conv_add_contact); + } + + gtk_widget_show (priv->menu_conv_separator); + gtk_widget_show (priv->menu_conv_info); + + /* Are we connected? */ + gtk_widget_set_sensitive (priv->menu_conv_insert_smiley, is_connected); + gtk_widget_set_sensitive (priv->menu_conv_add_contact, is_connected); + gtk_widget_set_sensitive (priv->menu_conv_info, is_connected); + } +} + +static void +chat_window_insert_smiley_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + GossipChat *chat; + GtkTextBuffer *buffer; + GtkTextIter iter; + const gchar *smiley; + + priv = GET_PRIV (window); + + chat = priv->current_chat; + + smiley = g_object_get_data (G_OBJECT (menuitem), "smiley_text"); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (chat->input_text_view)); + gtk_text_buffer_get_end_iter (buffer, &iter); + gtk_text_buffer_insert (buffer, &iter, + smiley, -1); +} + +static void +chat_window_clear_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + + priv = GET_PRIV (window); + + gossip_chat_clear (priv->current_chat); +} + +static void +chat_window_add_contact_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + //GossipContact *contact; + + priv = GET_PRIV (window); + + //contact = gossip_chat_get_contact (priv->current_chat); + + // FIXME: gossip_add_contact_dialog_show (NULL, contact); +} + +static void +chat_window_log_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ +/* FIXME: + GossipChatWindowPriv *priv; + + priv = GET_PRIV (window); + + if (gossip_chat_is_group_chat (priv->current_chat)) { + GossipGroupChat *group_chat; + GossipChatroom *chatroom; + + group_chat = GOSSIP_GROUP_CHAT (priv->current_chat); + chatroom = gossip_group_chat_get_chatroom (group_chat); + gossip_log_window_show (NULL, chatroom); + } else { + GossipContact *contact; + + contact = gossip_chat_get_contact (priv->current_chat); + gossip_log_window_show (contact, NULL); + } +*/ +} + +static void +chat_window_info_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + //GossipContact *contact; + + priv = GET_PRIV (window); +/*FIXME: + contact = gossip_chat_get_contact (priv->current_chat); + + gossip_contact_info_dialog_show (contact, + GTK_WINDOW (priv->dialog));*/ +} + +static gboolean +chat_window_save_geometry_timeout_cb (GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + gint x, y, w, h; + + priv = GET_PRIV (window); + + gtk_window_get_size (GTK_WINDOW (priv->dialog), &w, &h); + gtk_window_get_position (GTK_WINDOW (priv->dialog), &x, &y); + + gossip_chat_save_geometry (priv->current_chat, x, y, w, h); + + priv->save_geometry_id = 0; + + return FALSE; +} + +static gboolean +chat_window_configure_event_cb (GtkWidget *widget, + GdkEventConfigure *event, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + + priv = GET_PRIV (window); + + /* Only save geometry information if there is ONE chat visible. */ + if (g_list_length (priv->chats) > 1) { + return FALSE; + } + + if (priv->save_geometry_id != 0) { + g_source_remove (priv->save_geometry_id); + } + + priv->save_geometry_id = + g_timeout_add (500, + (GSourceFunc) chat_window_save_geometry_timeout_cb, + window); + + return FALSE; +} + +static void +chat_window_conv_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + gboolean log_exists = FALSE; + + priv = GET_PRIV (window); +/* FIXME: + if (gossip_chat_is_group_chat (priv->current_chat)) { + GossipGroupChat *group_chat; + GossipChatroom *chatroom; + + group_chat = GOSSIP_GROUP_CHAT (priv->current_chat); + chatroom = gossip_group_chat_get_chatroom (group_chat); + if (chatroom) { + log_exists = gossip_log_exists_for_chatroom (chatroom); + } + } else { + GossipContact *contact; + + contact = gossip_chat_get_contact (priv->current_chat); + if (contact) { + log_exists = gossip_log_exists_for_contact (contact); + } + } +*/ + gtk_widget_set_sensitive (priv->menu_conv_log, log_exists); +} + +static void +chat_window_show_contacts_toggled_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + gboolean show; + + priv = GET_PRIV (window); + + g_return_if_fail (priv->current_chat != NULL); + + show = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (priv->menu_room_show_contacts)); + gossip_group_chat_set_show_contacts (GOSSIP_GROUP_CHAT (priv->current_chat), show); +} + +static void +chat_window_close_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + + priv = GET_PRIV (window); + + g_return_if_fail (priv->current_chat != NULL); + + gossip_chat_window_remove_chat (window, priv->current_chat); +} + +static void +chat_window_room_set_topic_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + + priv = GET_PRIV (window); + + if (gossip_chat_is_group_chat (priv->current_chat)) { + GossipGroupChat *group_chat; + + group_chat = GOSSIP_GROUP_CHAT (priv->current_chat); + gossip_group_chat_set_topic (group_chat); + } +} + +static void +chat_window_room_join_new_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + + priv = GET_PRIV (window); + + gossip_new_chatroom_dialog_show (GTK_WINDOW (priv->dialog)); +} + +static void +chat_window_room_invite_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ +/* FIXME: + GossipChatWindowPriv *priv; + GossipContact *own_contact; + GossipChatroomId id = 0; + + priv = GET_PRIV (window); + own_contact = gossip_chat_get_own_contact (priv->current_chat); + + if (gossip_chat_is_group_chat (priv->current_chat)) { + GossipGroupChat *group_chat; + + group_chat = GOSSIP_GROUP_CHAT (priv->current_chat); + id = gossip_group_chat_get_chatroom_id (group_chat); + } + + gossip_chat_invite_dialog_show (own_contact, id); +*/ +} + +static void +chat_window_room_add_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + GossipChatroomManager *manager; + GossipChatroom *chatroom; + + priv = GET_PRIV (window); + + g_return_if_fail (priv->current_chat != NULL); + + if (!gossip_chat_is_group_chat (priv->current_chat)) { + return; + } + + chatroom = gossip_chatroom_new_full (priv->current_chat->account, + gossip_chat_get_id (priv->current_chat), + gossip_chat_get_name (priv->current_chat), + FALSE); + + manager = gossip_chatroom_manager_new (); + gossip_chatroom_manager_add (manager, chatroom); + chat_window_update_menu (window); + + g_object_unref (chatroom); + g_object_unref (manager); +} + +static void +chat_window_edit_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + GtkClipboard *clipboard; + GtkTextBuffer *buffer; + gboolean text_available; + + priv = GET_PRIV (window); + + g_return_if_fail (priv->current_chat != NULL); + + if (!gossip_chat_is_connected (priv->current_chat)) { + gtk_widget_set_sensitive (priv->menu_edit_copy, FALSE); + gtk_widget_set_sensitive (priv->menu_edit_cut, FALSE); + gtk_widget_set_sensitive (priv->menu_edit_paste, FALSE); + return; + } + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->current_chat->input_text_view)); + if (gtk_text_buffer_get_selection_bounds (buffer, NULL, NULL)) { + gtk_widget_set_sensitive (priv->menu_edit_copy, TRUE); + gtk_widget_set_sensitive (priv->menu_edit_cut, TRUE); + } else { + gboolean selection; + + selection = gossip_chat_view_get_selection_bounds (priv->current_chat->view, + NULL, NULL); + + gtk_widget_set_sensitive (priv->menu_edit_cut, FALSE); + gtk_widget_set_sensitive (priv->menu_edit_copy, selection); + } + + clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); + text_available = gtk_clipboard_wait_is_text_available (clipboard); + gtk_widget_set_sensitive (priv->menu_edit_paste, text_available); +} + +static void +chat_window_cut_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + + g_return_if_fail (GOSSIP_IS_CHAT_WINDOW (window)); + + priv = GET_PRIV (window); + + gossip_chat_cut (priv->current_chat); +} + +static void +chat_window_copy_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + + g_return_if_fail (GOSSIP_IS_CHAT_WINDOW (window)); + + priv = GET_PRIV (window); + + gossip_chat_copy (priv->current_chat); +} + +static void +chat_window_paste_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + + g_return_if_fail (GOSSIP_IS_CHAT_WINDOW (window)); + + priv = GET_PRIV (window); + + gossip_chat_paste (priv->current_chat); +} + +static void +chat_window_tabs_left_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + GossipChat *chat; + gint index; + + priv = GET_PRIV (window); + + chat = priv->current_chat; + index = gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->notebook)); + if (index <= 0) { + return; + } + + gtk_notebook_reorder_child (GTK_NOTEBOOK (priv->notebook), + gossip_chat_get_widget (chat), + index - 1); + + chat_window_update_menu (window); + chat_window_update_status (window, chat); +} + +static void +chat_window_tabs_right_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + GossipChat *chat; + gint index; + + priv = GET_PRIV (window); + + chat = priv->current_chat; + index = gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->notebook)); + + gtk_notebook_reorder_child (GTK_NOTEBOOK (priv->notebook), + gossip_chat_get_widget (chat), + index + 1); + + chat_window_update_menu (window); + chat_window_update_status (window, chat); +} + +static void +chat_window_detach_activate_cb (GtkWidget *menuitem, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + GossipChatWindow *new_window; + GossipChat *chat; + + priv = GET_PRIV (window); + + chat = priv->current_chat; + new_window = gossip_chat_window_new (); + + gossip_chat_window_move_chat (window, new_window, chat); + + priv = GET_PRIV (new_window); + gtk_widget_show (priv->dialog); +} + +static gboolean +chat_window_delete_event_cb (GtkWidget *dialog, + GdkEvent *event, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + GList *list; + GList *l; + + priv = GET_PRIV (window); + + gossip_debug (DEBUG_DOMAIN, "Delete event received"); + + list = g_list_copy (priv->chats); + + for (l = list; l; l = l->next) { + gossip_chat_window_remove_chat (window, l->data); + } + + g_list_free (list); + + return TRUE; +} + +static void +chat_window_status_changed_cb (GossipChat *chat, + GossipChatWindow *window) +{ + chat_window_update_menu (window); + chat_window_update_status (window, chat); +} + +static void +chat_window_update_tooltip (GossipChatWindow *window, + GossipChat *chat) +{ + GossipChatWindowPriv *priv; + GtkWidget *widget; + gchar *current_tooltip; + gchar *str; + + priv = GET_PRIV (window); + + current_tooltip = gossip_chat_get_tooltip (chat); + + if (g_list_find (priv->chats_composing, chat)) { + str = g_strconcat (current_tooltip, "\n", _("Typing a message."), NULL); + g_free (current_tooltip); + } else { + str = current_tooltip; + } + + widget = g_object_get_data (G_OBJECT (chat), "chat-window-tab-tooltip-widget"); + gtk_tooltips_set_tip (priv->tooltips, + widget, + str, + NULL); + + g_free (str); +} + +static void +chat_window_name_changed_cb (GossipChat *chat, + const gchar *name, + GossipChatWindow *window) +{ + GtkLabel *label; + + label = g_object_get_data (G_OBJECT (chat), "chat-window-tab-label"); + + gtk_label_set_text (label, name); +} + +static void +chat_window_composing_cb (GossipChat *chat, + gboolean is_composing, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + + priv = GET_PRIV (window); + + if (is_composing && !g_list_find (priv->chats_composing, chat)) { + priv->chats_composing = g_list_prepend (priv->chats_composing, chat); + } else { + priv->chats_composing = g_list_remove (priv->chats_composing, chat); + } + + chat_window_update_status (window, chat); +} + +static void +chat_window_new_message_cb (GossipChat *chat, + GossipMessage *message, + gboolean is_backlog, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + gboolean has_focus; + gboolean needs_urgency; + + priv = GET_PRIV (window); + + has_focus = gossip_chat_window_has_focus (window); + + if (has_focus && priv->current_chat == chat) { + gossip_debug (DEBUG_DOMAIN, "New message, we have focus"); + return; + } + + gossip_debug (DEBUG_DOMAIN, "New message, no focus"); + + needs_urgency = FALSE; + if (gossip_chat_is_group_chat (chat)) { + if (!is_backlog && + gossip_chat_should_highlight_nick (message)) { + gossip_debug (DEBUG_DOMAIN, "Highlight this nick"); + needs_urgency = TRUE; + } + } else { + needs_urgency = TRUE; + } + + if (needs_urgency && !has_focus) { + chat_window_set_urgency_hint (window, TRUE); + } + + if (!is_backlog && + !g_list_find (priv->chats_new_msg, chat)) { + priv->chats_new_msg = g_list_prepend (priv->chats_new_msg, chat); + chat_window_update_status (window, chat); + } +} + +static GtkNotebook * +chat_window_detach_hook (GtkNotebook *source, + GtkWidget *page, + gint x, + gint y, + gpointer user_data) +{ + GossipChatWindowPriv *priv; + GossipChatWindow *window, *new_window; + GossipChat *chat; + + chat = g_object_get_data (G_OBJECT (page), "chat"); + window = gossip_chat_get_window (chat); + + new_window = gossip_chat_window_new (); + priv = GET_PRIV (new_window); + + gossip_debug (DEBUG_DOMAIN, "Detach hook called"); + + gossip_chat_window_move_chat (window, new_window, chat); + + gtk_window_move (GTK_WINDOW (priv->dialog), x, y); + gtk_widget_show (priv->dialog); + + return NULL; +} + +static void +chat_window_page_switched_cb (GtkNotebook *notebook, + GtkNotebookPage *page, + gint page_num, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + GossipChat *chat; + GtkWidget *child; + + gossip_debug (DEBUG_DOMAIN, "Page switched"); + + priv = GET_PRIV (window); + + child = gtk_notebook_get_nth_page (notebook, page_num); + chat = g_object_get_data (G_OBJECT (child), "chat"); + + if (priv->page_added) { + priv->page_added = FALSE; + gossip_chat_scroll_down (chat); + } + else if (priv->current_chat == chat) { + return; + } + + priv->current_chat = chat; + priv->chats_new_msg = g_list_remove (priv->chats_new_msg, chat); + + chat_window_update_menu (window); + chat_window_update_status (window, chat); +} + +static void +chat_window_page_reordered_cb (GtkNotebook *notebook, + GtkWidget *widget, + guint page_num, + GossipChatWindow *window) +{ + gossip_debug (DEBUG_DOMAIN, "Page reordered"); + + chat_window_update_menu (window); +} + +static void +chat_window_page_added_cb (GtkNotebook *notebook, + GtkWidget *child, + guint page_num, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + GossipChat *chat; + + priv = GET_PRIV (window); + + /* If we just received DND to the same window, we don't want + * to do anything here like removing the tab and then readding + * it, so we return here and in "page-added". + */ + if (priv->dnd_same_window) { + gossip_debug (DEBUG_DOMAIN, "Page added (back to the same window)"); + priv->dnd_same_window = FALSE; + return; + } + + gossip_debug (DEBUG_DOMAIN, "Page added"); + + /* Get chat object */ + chat = g_object_get_data (G_OBJECT (child), "chat"); + + /* Set the chat window */ + gossip_chat_set_window (chat, window); + + /* Connect chat signals for this window */ + g_signal_connect (chat, "status-changed", + G_CALLBACK (chat_window_status_changed_cb), + window); + g_signal_connect (chat, "name-changed", + G_CALLBACK (chat_window_name_changed_cb), + window); + g_signal_connect (chat, "composing", + G_CALLBACK (chat_window_composing_cb), + window); + g_signal_connect (chat, "new-message", + G_CALLBACK (chat_window_new_message_cb), + window); + + /* Set flag so we know to perform some special operations on + * switch page due to the new page being added. + */ + priv->page_added = TRUE; + + /* Get list of chats up to date */ + priv->chats = g_list_append (priv->chats, chat); +} + +static void +chat_window_page_removed_cb (GtkNotebook *notebook, + GtkWidget *child, + guint page_num, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + GossipChat *chat; + + priv = GET_PRIV (window); + + /* If we just received DND to the same window, we don't want + * to do anything here like removing the tab and then readding + * it, so we return here and in "page-added". + */ + if (priv->dnd_same_window) { + gossip_debug (DEBUG_DOMAIN, "Page removed (and will be readded to same window)"); + return; + } + + gossip_debug (DEBUG_DOMAIN, "Page removed"); + + /* Get chat object */ + chat = g_object_get_data (G_OBJECT (child), "chat"); + + /* Unset the window associated with a chat */ + gossip_chat_set_window (chat, NULL); + + /* Disconnect all signal handlers for this chat and this window */ + g_signal_handlers_disconnect_by_func (chat, + G_CALLBACK (chat_window_status_changed_cb), + window); + g_signal_handlers_disconnect_by_func (chat, + G_CALLBACK (chat_window_name_changed_cb), + window); + g_signal_handlers_disconnect_by_func (chat, + G_CALLBACK (chat_window_composing_cb), + window); + g_signal_handlers_disconnect_by_func (chat, + G_CALLBACK (chat_window_new_message_cb), + window); + + /* Keep list of chats up to date */ + priv->chats = g_list_remove (priv->chats, chat); + priv->chats_new_msg = g_list_remove (priv->chats_new_msg, chat); + priv->chats_composing = g_list_remove (priv->chats_composing, chat); + + if (priv->chats == NULL) { + g_object_unref (window); + } else { + chat_window_update_menu (window); + chat_window_update_title (window, NULL); + } +} + +static gboolean +chat_window_focus_in_event_cb (GtkWidget *widget, + GdkEvent *event, + GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + + gossip_debug (DEBUG_DOMAIN, "Focus in event, updating title"); + + priv = GET_PRIV (window); + + priv->chats_new_msg = g_list_remove (priv->chats_new_msg, priv->current_chat); + + chat_window_set_urgency_hint (window, FALSE); + + /* Update the title, since we now mark all unread messages as read. */ + chat_window_update_status (window, priv->current_chat); + + return FALSE; +} + +static void +chat_window_drag_data_received (GtkWidget *widget, + GdkDragContext *context, + int x, + int y, + GtkSelectionData *selection, + guint info, + guint time, + GossipChatWindow *window) +{ + /* FIXME: DnD of contact do not seems to work... */ + if (info == DND_DRAG_TYPE_CONTACT_ID) { + EmpathyContactManager *manager; + GossipContact *contact; + GossipChat *chat; + GossipChatWindow *old_window; + McAccount *account; + const gchar *id = NULL; + + if (selection) { + id = (const gchar*) selection->data; + } + + gossip_debug (DEBUG_DOMAIN, "DND contact from roster with id:'%s'", id); + + manager = empathy_contact_manager_new (); + contact = empathy_contact_list_find (EMPATHY_CONTACT_LIST (manager), id); + g_object_unref (manager); + + if (!contact) { + gossip_debug (DEBUG_DOMAIN, "DND contact from roster not found"); + return; + } + + account = gossip_contact_get_account (contact); + chat = gossip_chat_window_find_chat (account, id); + old_window = gossip_chat_get_window (chat); + + if (old_window) { + if (old_window == window) { + gtk_drag_finish (context, TRUE, FALSE, time); + return; + } + + gossip_chat_window_move_chat (old_window, window, chat); + } else { + gossip_chat_window_add_chat (window, chat); + } + + /* Added to take care of any outstanding chat events */ + gossip_chat_present (chat); + + /* We should return TRUE to remove the data when doing + * GDK_ACTION_MOVE, but we don't here otherwise it has + * weird consequences, and we handle that internally + * anyway with add_chat() and remove_chat(). + */ + gtk_drag_finish (context, TRUE, FALSE, time); + } + else if (info == DND_DRAG_TYPE_TAB) { + GossipChat *chat = NULL; + GossipChatWindow *old_window; + GtkWidget **child = NULL; + + gossip_debug (DEBUG_DOMAIN, "DND tab"); + + if (selection) { + child = (void*) selection->data; + } + + if (child) { + chat = g_object_get_data (G_OBJECT (*child), "chat"); + } + + old_window = gossip_chat_get_window (chat); + if (old_window) { + GossipChatWindowPriv *priv; + + priv = GET_PRIV (window); + + if (old_window == window) { + gossip_debug (DEBUG_DOMAIN, "DND tab (within same window)"); + priv->dnd_same_window = TRUE; + gtk_drag_finish (context, TRUE, FALSE, time); + return; + } + + priv->dnd_same_window = FALSE; + } + + /* We should return TRUE to remove the data when doing + * GDK_ACTION_MOVE, but we don't here otherwise it has + * weird consequences, and we handle that internally + * anyway with add_chat() and remove_chat(). + */ + gtk_drag_finish (context, TRUE, FALSE, time); + } else { + gossip_debug (DEBUG_DOMAIN, "DND from unknown source"); + gtk_drag_finish (context, FALSE, FALSE, time); + } +} + +static gboolean +chat_window_urgency_timeout_func (GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + + priv = GET_PRIV (window); + + gossip_debug (DEBUG_DOMAIN, "Turning off urgency hint"); + gtk_window_set_urgency_hint (GTK_WINDOW (priv->dialog), FALSE); + + priv->urgency_timeout_id = 0; + + return FALSE; +} + +static void +chat_window_set_urgency_hint (GossipChatWindow *window, + gboolean urgent) +{ + GossipChatWindowPriv *priv; + + priv = GET_PRIV (window); + + if (!urgent) { + /* Remove any existing hint and timeout. */ + if (priv->urgency_timeout_id) { + gossip_debug (DEBUG_DOMAIN, "Turning off urgency hint"); + gtk_window_set_urgency_hint (GTK_WINDOW (priv->dialog), FALSE); + g_source_remove (priv->urgency_timeout_id); + priv->urgency_timeout_id = 0; + } + return; + } + + /* Add a new hint and renew any exising timeout or add a new one. */ + if (priv->urgency_timeout_id) { + g_source_remove (priv->urgency_timeout_id); + } else { + gossip_debug (DEBUG_DOMAIN, "Turning on urgency hint"); + gtk_window_set_urgency_hint (GTK_WINDOW (priv->dialog), TRUE); + } + + priv->urgency_timeout_id = g_timeout_add ( + URGENCY_TIMEOUT, + (GSourceFunc) chat_window_urgency_timeout_func, + window); +} + +GossipChatWindow * +gossip_chat_window_new (void) +{ + return GOSSIP_CHAT_WINDOW (g_object_new (GOSSIP_TYPE_CHAT_WINDOW, NULL)); +} + +GtkWidget * +gossip_chat_window_get_dialog (GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + + g_return_val_if_fail (window != NULL, NULL); + + priv = GET_PRIV (window); + + return priv->dialog; +} + +void +gossip_chat_window_add_chat (GossipChatWindow *window, + GossipChat *chat) +{ + GossipChatWindowPriv *priv; + GtkWidget *label; + GtkWidget *child; + + priv = GET_PRIV (window); + + /* Reference the chat object */ + g_object_ref (chat); + + /* Set the chat window */ + gossip_chat_set_window (chat, window); + + if (g_list_length (priv->chats) == 0) { + gint x, y, w, h; + + gossip_chat_load_geometry (chat, &x, &y, &w, &h); + + if (x >= 0 && y >= 0) { + /* Let the window manager position it if we don't have + * good x, y coordinates. + */ + gtk_window_move (GTK_WINDOW (priv->dialog), x, y); + } + + if (w > 0 && h > 0) { + /* Use the defaults from the glade file if we don't have + * good w, h geometry. + */ + gtk_window_resize (GTK_WINDOW (priv->dialog), w, h); + } + } + + child = gossip_chat_get_widget (chat); + label = chat_window_create_label (window, chat); + + gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook), child, label); + gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (priv->notebook), child, TRUE); + gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (priv->notebook), child, TRUE); + gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (priv->notebook), child, + TRUE, TRUE, GTK_PACK_START); + + gossip_debug (DEBUG_DOMAIN, + "Chat added (%d references)", + G_OBJECT (chat)->ref_count); +} + +void +gossip_chat_window_remove_chat (GossipChatWindow *window, + GossipChat *chat) +{ + GossipChatWindowPriv *priv; + gint position; + + priv = GET_PRIV (window); + + position = gtk_notebook_page_num (GTK_NOTEBOOK (priv->notebook), + gossip_chat_get_widget (chat)); + gtk_notebook_remove_page (GTK_NOTEBOOK (priv->notebook), position); + + gossip_debug (DEBUG_DOMAIN, + "Chat removed (%d references)", + G_OBJECT (chat)->ref_count - 1); + + g_object_unref (chat); +} + +void +gossip_chat_window_move_chat (GossipChatWindow *old_window, + GossipChatWindow *new_window, + GossipChat *chat) +{ + GtkWidget *widget; + + g_return_if_fail (GOSSIP_IS_CHAT_WINDOW (old_window)); + g_return_if_fail (GOSSIP_IS_CHAT_WINDOW (new_window)); + g_return_if_fail (GOSSIP_IS_CHAT (chat)); + + widget = gossip_chat_get_widget (chat); + + gossip_debug (DEBUG_DOMAIN, + "Chat moving with widget:%p (%d references)", + widget, + G_OBJECT (widget)->ref_count); + + /* We reference here to make sure we don't loose the widget + * and the GossipChat object during the move. + */ + g_object_ref (chat); + g_object_ref (widget); + + gossip_chat_window_remove_chat (old_window, chat); + gossip_chat_window_add_chat (new_window, chat); + + g_object_unref (widget); + g_object_unref (chat); +} + +void +gossip_chat_window_switch_to_chat (GossipChatWindow *window, + GossipChat *chat) +{ + GossipChatWindowPriv *priv; + gint page_num; + + priv = GET_PRIV (window); + + page_num = gtk_notebook_page_num (GTK_NOTEBOOK (priv->notebook), + gossip_chat_get_widget (chat)); + gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), + page_num); +} + +gboolean +gossip_chat_window_has_focus (GossipChatWindow *window) +{ + GossipChatWindowPriv *priv; + gboolean has_focus; + + g_return_val_if_fail (GOSSIP_IS_CHAT_WINDOW (window), FALSE); + + priv = GET_PRIV (window); + + g_object_get (priv->dialog, "has-toplevel-focus", &has_focus, NULL); + + return has_focus; +} + +GossipChat * +gossip_chat_window_find_chat (McAccount *account, + const gchar *id) +{ + GList *l; + + for (l = chat_windows; l; l = l->next) { + GossipChatWindowPriv *priv; + GossipChatWindow *window; + GList *ll; + + window = l->data; + priv = GET_PRIV (window); + + for (ll = priv->chats; ll; ll = ll->next) { + GossipChat *chat; + + chat = ll->data; + + if (gossip_account_equal (account, chat->account) && + strcmp (id, gossip_chat_get_id (chat)) == 0) { + return chat; + } + } + } + + return NULL; +} + diff --git a/trunk/libempathy-gtk/gossip-chat-window.h b/trunk/libempathy-gtk/gossip-chat-window.h new file mode 100644 index 000000000..b58e5dac3 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-chat-window.h @@ -0,0 +1,80 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2003-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Geert-Jan Van den Bogaerde <geertjan@gnome.org> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_CHAT_WINDOW_H__ +#define __GOSSIP_CHAT_WINDOW_H__ + +#include <glib-object.h> + +#include <libmissioncontrol/mc-account.h> + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_CHAT_WINDOW (gossip_chat_window_get_type ()) +#define GOSSIP_CHAT_WINDOW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_CHAT_WINDOW, GossipChatWindow)) +#define GOSSIP_CHAT_WINDOW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOSSIP_TYPE_CHAT_WINDOW, GossipChatWindowClass)) +#define GOSSIP_IS_CHAT_WINDOW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_CHAT_WINDOW)) +#define GOSSIP_IS_CHAT_WINDOW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_CHAT_WINDOW)) +#define GOSSIP_CHAT_WINDOW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_CHAT_WINDOW, GossipChatWindowClass)) + +typedef struct _GossipChatWindow GossipChatWindow; +typedef struct _GossipChatWindowClass GossipChatWindowClass; +typedef struct _GossipChatWindowPriv GossipChatWindowPriv; + +#include "gossip-chat.h" + +struct _GossipChatWindow { + GObject parent; +}; + +struct _GossipChatWindowClass { + GObjectClass parent_class; +}; + +GType gossip_chat_window_get_type (void); +GossipChatWindow *gossip_chat_window_get_default (void); + +GossipChatWindow *gossip_chat_window_new (void); + +GtkWidget * gossip_chat_window_get_dialog (GossipChatWindow *window); + +void gossip_chat_window_add_chat (GossipChatWindow *window, + GossipChat *chat); +void gossip_chat_window_remove_chat (GossipChatWindow *window, + GossipChat *chat); +void gossip_chat_window_move_chat (GossipChatWindow *old_window, + GossipChatWindow *new_window, + GossipChat *chat); +void gossip_chat_window_switch_to_chat (GossipChatWindow *window, + GossipChat *chat); +gboolean gossip_chat_window_has_focus (GossipChatWindow *window); +GossipChat * gossip_chat_window_find_chat (McAccount *account, + const gchar *id); + +G_END_DECLS + +#endif /* __GOSSIP_CHAT_WINDOW_H__ */ diff --git a/trunk/libempathy-gtk/gossip-chat.c b/trunk/libempathy-gtk/gossip-chat.c new file mode 100644 index 000000000..a29c31818 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-chat.c @@ -0,0 +1,1539 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2002-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Geert-Jan Van den Bogaerde <geertjan@gnome.org> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include <string.h> +#include <stdlib.h> + +#include <gdk/gdkkeysyms.h> +#include <glib/gi18n.h> +#include <gtk/gtk.h> +#include <glade/glade.h> + +#include <libempathy/empathy-contact-manager.h> +#include <libempathy/gossip-debug.h> +#include <libempathy/gossip-utils.h> +#include <libempathy/gossip-conf.h> +#include <libempathy/empathy-marshal.h> + +#include "gossip-chat.h" +#include "gossip-chat-window.h" +#include "gossip-geometry.h" +#include "gossip-preferences.h" +#include "gossip-spell.h" +//#include "gossip-spell-dialog.h" +#include "gossip-ui-utils.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_CHAT, GossipChatPriv)) + +#define DEBUG_DOMAIN "Chat" + +#define CHAT_DIR_CREATE_MODE (S_IRUSR | S_IWUSR | S_IXUSR) +#define CHAT_FILE_CREATE_MODE (S_IRUSR | S_IWUSR) + +#define IS_ENTER(v) (v == GDK_Return || v == GDK_ISO_Enter || v == GDK_KP_Enter) + +#define MAX_INPUT_HEIGHT 150 + +#define COMPOSING_STOP_TIMEOUT 5 + +struct _GossipChatPriv { + EmpathyContactManager *manager; + EmpathyTpChat *tp_chat; + GossipChatWindow *window; + GtkTooltips *tooltips; + guint composing_stop_timeout_id; + gboolean sensitive; + gchar *id; + GSList *sent_messages; + gint sent_messages_index; + GList *compositors; + guint scroll_idle_id; + /* Used to automatically shrink a window that has temporarily + * grown due to long input. + */ + gint padding_height; + gint default_window_height; + gint last_input_height; + gboolean vscroll_visible; +}; + +typedef struct { + GossipChat *chat; + gchar *word; + + GtkTextIter start; + GtkTextIter end; +} GossipChatSpell; + +static void gossip_chat_class_init (GossipChatClass *klass); +static void gossip_chat_init (GossipChat *chat); +static void chat_finalize (GObject *object); +static void chat_destroy_cb (EmpathyTpChat *tp_chat, + GossipChat *chat); +static void chat_send (GossipChat *chat, + const gchar *msg); +static void chat_input_text_view_send (GossipChat *chat); +static void chat_message_received_cb (EmpathyTpChat *tp_chat, + GossipMessage *message, + GossipChat *chat); +void chat_sent_message_add (GossipChat *chat, + const gchar *str); +const gchar * chat_sent_message_get_next (GossipChat *chat); +const gchar * chat_sent_message_get_last (GossipChat *chat); +static gboolean chat_input_key_press_event_cb (GtkWidget *widget, + GdkEventKey *event, + GossipChat *chat); +static void chat_input_text_buffer_changed_cb (GtkTextBuffer *buffer, + GossipChat *chat); +static gboolean chat_text_view_focus_in_event_cb (GtkWidget *widget, + GdkEvent *event, + GossipChat *chat); +static void chat_text_view_scroll_hide_cb (GtkWidget *widget, + GossipChat *chat); +static void chat_text_view_size_allocate_cb (GtkWidget *widget, + GtkAllocation *allocation, + GossipChat *chat); +static void chat_text_view_realize_cb (GtkWidget *widget, + GossipChat *chat); +static void chat_text_populate_popup_cb (GtkTextView *view, + GtkMenu *menu, + GossipChat *chat); +static void chat_text_check_word_spelling_cb (GtkMenuItem *menuitem, + GossipChatSpell *chat_spell); +static GossipChatSpell *chat_spell_new (GossipChat *chat, + const gchar *word, + GtkTextIter start, + GtkTextIter end); +static void chat_spell_free (GossipChatSpell *chat_spell); +static void chat_composing_start (GossipChat *chat); +static void chat_composing_stop (GossipChat *chat); +static void chat_composing_remove_timeout (GossipChat *chat); +static gboolean chat_composing_stop_timeout_cb (GossipChat *chat); +static void chat_state_changed_cb (EmpathyTpChat *tp_chat, + GossipContact *contact, + TelepathyChannelChatState state, + GossipChat *chat); +static gboolean chat_scroll_down_idle_func (GossipChat *chat); + +enum { + COMPOSING, + NEW_MESSAGE, + NAME_CHANGED, + STATUS_CHANGED, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +G_DEFINE_TYPE (GossipChat, gossip_chat, G_TYPE_OBJECT); + +static void +gossip_chat_class_init (GossipChatClass *klass) +{ + GObjectClass *object_class; + + object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = chat_finalize; + + signals[COMPOSING] = + g_signal_new ("composing", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__BOOLEAN, + G_TYPE_NONE, + 1, G_TYPE_BOOLEAN); + + signals[NEW_MESSAGE] = + g_signal_new ("new-message", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + empathy_marshal_VOID__OBJECT_BOOLEAN, + G_TYPE_NONE, + 2, GOSSIP_TYPE_MESSAGE, G_TYPE_BOOLEAN); + + signals[NAME_CHANGED] = + g_signal_new ("name-changed", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, + 1, G_TYPE_POINTER); + + signals[STATUS_CHANGED] = + g_signal_new ("status-changed", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); + + g_type_class_add_private (object_class, sizeof (GossipChatPriv)); +} + +static void +gossip_chat_init (GossipChat *chat) +{ + GossipChatPriv *priv; + GtkTextBuffer *buffer; + + chat->view = gossip_chat_view_new (); + chat->input_text_view = gtk_text_view_new (); + + chat->is_first_char = TRUE; + + g_object_set (chat->input_text_view, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + "pixels-inside-wrap", 1, + "right-margin", 2, + "left-margin", 2, + "wrap-mode", GTK_WRAP_WORD_CHAR, + NULL); + + priv = GET_PRIV (chat); + + priv->manager = empathy_contact_manager_new (); + priv->tooltips = g_object_ref_sink (gtk_tooltips_new ()); + priv->default_window_height = -1; + priv->vscroll_visible = FALSE; + priv->sensitive = TRUE; + priv->sent_messages = NULL; + priv->sent_messages_index = -1; + + g_signal_connect (chat->input_text_view, + "key_press_event", + G_CALLBACK (chat_input_key_press_event_cb), + chat); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (chat->input_text_view)); + g_signal_connect (buffer, + "changed", + G_CALLBACK (chat_input_text_buffer_changed_cb), + chat); + g_signal_connect (chat->view, + "focus_in_event", + G_CALLBACK (chat_text_view_focus_in_event_cb), + chat); + + g_signal_connect (chat->input_text_view, + "size_allocate", + G_CALLBACK (chat_text_view_size_allocate_cb), + chat); + + g_signal_connect (chat->input_text_view, + "realize", + G_CALLBACK (chat_text_view_realize_cb), + chat); + + g_signal_connect (GTK_TEXT_VIEW (chat->input_text_view), + "populate_popup", + G_CALLBACK (chat_text_populate_popup_cb), + chat); + + /* create misspelt words identification tag */ + gtk_text_buffer_create_tag (buffer, + "misspelled", + "underline", PANGO_UNDERLINE_ERROR, + NULL); + + + + /* Turn off scrolling temporarily */ + gossip_chat_view_scroll (chat->view, FALSE); +#if 0 +FIXME: + /* Add messages from last conversation */ + log_manager = gossip_session_get_log_manager (gossip_app_get_session ()); + messages = gossip_log_get_last_for_contact (log_manager, priv->contact); + num_messages = g_list_length (messages); + + for (l = messages, i = 0; l; l = l->next, i++) { + message = l->data; + + if (num_messages - i > 10) { + continue; + } + + sender = gossip_message_get_sender (message); + if (gossip_contact_equal (priv->own_contact, sender)) { + gossip_chat_view_append_message_from_self (view, + message, + priv->own_contact, + priv->own_avatar); + } else { + gossip_chat_view_append_message_from_other (view, + message, + sender, + priv->other_avatar); + } + } + + g_list_foreach (messages, (GFunc) g_object_unref, NULL); + g_list_free (messages); +#endif + /* Turn back on scrolling */ + gossip_chat_view_scroll (chat->view, TRUE); + + /* Scroll to the most recent messages, we reference the chat + * for the duration of the scroll func. + */ + priv->scroll_idle_id = g_idle_add ((GSourceFunc) chat_scroll_down_idle_func, + g_object_ref (chat)); + +} + +static void +chat_finalize (GObject *object) +{ + GossipChat *chat; + GossipChatPriv *priv; + + chat = GOSSIP_CHAT (object); + priv = GET_PRIV (chat); + + gossip_debug (DEBUG_DOMAIN, "Finalized: %p", object); + + g_slist_foreach (priv->sent_messages, (GFunc) g_free, NULL); + g_slist_free (priv->sent_messages); + + g_list_foreach (priv->compositors, (GFunc) g_object_unref, NULL); + g_list_free (priv->compositors); + + chat_composing_remove_timeout (chat); + g_object_unref (chat->account); + g_object_unref (priv->manager); + g_object_unref (priv->tooltips); + + if (priv->tp_chat) { + g_object_unref (priv->tp_chat); + } + + if (priv->scroll_idle_id) { + g_source_remove (priv->scroll_idle_id); + } + + g_free (priv->id); + + G_OBJECT_CLASS (gossip_chat_parent_class)->finalize (object); +} + +static void +chat_destroy_cb (EmpathyTpChat *tp_chat, + GossipChat *chat) +{ + GossipChatPriv *priv; + GtkWidget *widget; + + priv = GET_PRIV (chat); + + if (priv->tp_chat) { + g_object_unref (priv->tp_chat); + priv->tp_chat = NULL; + } + + gossip_chat_view_append_event (chat->view, _("Disconnected")); + + widget = gossip_chat_get_widget (chat); + gtk_widget_set_sensitive (widget, FALSE); + priv->sensitive = FALSE; +} + +static void +chat_send (GossipChat *chat, + const gchar *msg) +{ + GossipChatPriv *priv; + //GossipLogManager *log_manager; + GossipMessage *message; + GossipContact *own_contact; + + priv = GET_PRIV (chat); + + if (G_STR_EMPTY (msg)) { + return; + } + + chat_sent_message_add (chat, msg); + + if (g_str_has_prefix (msg, "/clear")) { + gossip_chat_view_clear (chat->view); + return; + } + + /* FIXME: add here something to let group/privrate chat handle + * some special messages */ + + /* FIXME: gossip_app_set_not_away ();*/ + + own_contact = empathy_contact_manager_get_user (priv->manager, chat->account); + message = gossip_message_new (msg); + gossip_message_set_sender (message, own_contact); + + //FIXME: log_manager = gossip_session_get_log_manager (gossip_app_get_session ()); + //gossip_log_message_for_contact (log_manager, message, FALSE); + + empathy_tp_chat_send (priv->tp_chat, message); + + g_object_unref (message); +} + +static void +chat_input_text_view_send (GossipChat *chat) +{ + GossipChatPriv *priv; + GtkTextBuffer *buffer; + GtkTextIter start, end; + gchar *msg; + + priv = GET_PRIV (chat); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (chat->input_text_view)); + + gtk_text_buffer_get_bounds (buffer, &start, &end); + msg = gtk_text_buffer_get_text (buffer, &start, &end, FALSE); + + /* clear the input field */ + gtk_text_buffer_set_text (buffer, "", -1); + + chat_send (chat, msg); + + g_free (msg); + + chat->is_first_char = TRUE; +} + +static void +chat_message_received_cb (EmpathyTpChat *tp_chat, + GossipMessage *message, + GossipChat *chat) +{ + GossipChatPriv *priv; + //GossipLogManager *log_manager; + GossipContact *sender; + + priv = GET_PRIV (chat); + + sender = gossip_message_get_sender (message); + gossip_debug (DEBUG_DOMAIN, "Appending message ('%s')", + gossip_contact_get_name (sender)); + +/*FIXME: + log_manager = gossip_session_get_log_manager (gossip_app_get_session ()); + gossip_log_message_for_contact (log_manager, message, TRUE); +*/ + gossip_chat_view_append_message (chat->view, message); + + if (gossip_chat_should_play_sound (chat)) { + // FIXME: gossip_sound_play (GOSSIP_SOUND_CHAT); + } + + g_signal_emit (chat, signals[NEW_MESSAGE], 0, message, FALSE); +} + +void +chat_sent_message_add (GossipChat *chat, + const gchar *str) +{ + GossipChatPriv *priv; + GSList *list; + GSList *item; + + priv = GET_PRIV (chat); + + /* Save the sent message in our repeat buffer */ + list = priv->sent_messages; + + /* Remove any other occurances of this msg */ + while ((item = g_slist_find_custom (list, str, (GCompareFunc) strcmp)) != NULL) { + list = g_slist_remove_link (list, item); + g_free (item->data); + g_slist_free1 (item); + } + + /* Trim the list to the last 10 items */ + while (g_slist_length (list) > 10) { + item = g_slist_last (list); + if (item) { + list = g_slist_remove_link (list, item); + g_free (item->data); + g_slist_free1 (item); + } + } + + /* Add new message */ + list = g_slist_prepend (list, g_strdup (str)); + + /* Set list and reset the index */ + priv->sent_messages = list; + priv->sent_messages_index = -1; +} + +const gchar * +chat_sent_message_get_next (GossipChat *chat) +{ + GossipChatPriv *priv; + gint max; + + priv = GET_PRIV (chat); + + if (!priv->sent_messages) { + gossip_debug (DEBUG_DOMAIN, + "No sent messages, next message is NULL"); + return NULL; + } + + max = g_slist_length (priv->sent_messages) - 1; + + if (priv->sent_messages_index < max) { + priv->sent_messages_index++; + } + + gossip_debug (DEBUG_DOMAIN, + "Returning next message index:%d", + priv->sent_messages_index); + + return g_slist_nth_data (priv->sent_messages, priv->sent_messages_index); +} + +const gchar * +chat_sent_message_get_last (GossipChat *chat) +{ + GossipChatPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CHAT (chat), NULL); + + priv = GET_PRIV (chat); + + if (!priv->sent_messages) { + gossip_debug (DEBUG_DOMAIN, + "No sent messages, last message is NULL"); + return NULL; + } + + if (priv->sent_messages_index >= 0) { + priv->sent_messages_index--; + } + + gossip_debug (DEBUG_DOMAIN, + "Returning last message index:%d", + priv->sent_messages_index); + + return g_slist_nth_data (priv->sent_messages, priv->sent_messages_index); +} + +static gboolean +chat_input_key_press_event_cb (GtkWidget *widget, + GdkEventKey *event, + GossipChat *chat) +{ + GossipChatPriv *priv; + GtkAdjustment *adj; + gdouble val; + GtkWidget *text_view_sw; + + priv = GET_PRIV (chat); + + if (event->keyval == GDK_Tab && !(event->state & GDK_CONTROL_MASK)) { + return TRUE; + } + + /* Catch ctrl+up/down so we can traverse messages we sent */ + if ((event->state & GDK_CONTROL_MASK) && + (event->keyval == GDK_Up || + event->keyval == GDK_Down)) { + GtkTextBuffer *buffer; + const gchar *str; + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (chat->input_text_view)); + + if (event->keyval == GDK_Up) { + str = chat_sent_message_get_next (chat); + } else { + str = chat_sent_message_get_last (chat); + } + + g_signal_handlers_block_by_func (buffer, + chat_input_text_buffer_changed_cb, + chat); + gtk_text_buffer_set_text (buffer, str ? str : "", -1); + g_signal_handlers_unblock_by_func (buffer, + chat_input_text_buffer_changed_cb, + chat); + + return TRUE; + } + + /* Catch enter but not ctrl/shift-enter */ + if (IS_ENTER (event->keyval) && !(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK))) { + GtkTextView *view; + + /* This is to make sure that kinput2 gets the enter. And if + * it's handled there we shouldn't send on it. This is because + * kinput2 uses Enter to commit letters. See: + * http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=104299 + */ + + view = GTK_TEXT_VIEW (chat->input_text_view); + if (gtk_im_context_filter_keypress (view->im_context, event)) { + GTK_TEXT_VIEW (chat->input_text_view)->need_im_reset = TRUE; + return TRUE; + } + + chat_input_text_view_send (chat); + return TRUE; + } + + text_view_sw = gtk_widget_get_parent (GTK_WIDGET (chat->view)); + + if (IS_ENTER (event->keyval) && (event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK))) { + /* Newline for shift-enter. */ + return FALSE; + } + else if ((event->state & GDK_CONTROL_MASK) != GDK_CONTROL_MASK && + event->keyval == GDK_Page_Up) { + adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (text_view_sw)); + gtk_adjustment_set_value (adj, adj->value - adj->page_size); + + return TRUE; + } + else if ((event->state & GDK_CONTROL_MASK) != GDK_CONTROL_MASK && + event->keyval == GDK_Page_Down) { + adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (text_view_sw)); + val = MIN (adj->value + adj->page_size, adj->upper - adj->page_size); + gtk_adjustment_set_value (adj, val); + + return TRUE; + } + + return FALSE; +} + +static gboolean +chat_text_view_focus_in_event_cb (GtkWidget *widget, + GdkEvent *event, + GossipChat *chat) +{ + gtk_widget_grab_focus (chat->input_text_view); + + return TRUE; +} + +static void +chat_input_text_buffer_changed_cb (GtkTextBuffer *buffer, + GossipChat *chat) +{ + GossipChatPriv *priv; + GtkTextIter start, end; + gchar *str; + gboolean spell_checker = FALSE; + + priv = GET_PRIV (chat); + + if (gtk_text_buffer_get_char_count (buffer) == 0) { + chat_composing_stop (chat); + } else { + chat_composing_start (chat); + } + + gossip_conf_get_bool (gossip_conf_get (), + GOSSIP_PREFS_CHAT_SPELL_CHECKER_ENABLED, + &spell_checker); + + if (chat->is_first_char) { + GtkRequisition req; + gint window_height; + GtkWidget *dialog; + GtkAllocation *allocation; + + /* Save the window's size */ + dialog = gossip_chat_window_get_dialog (priv->window); + gtk_window_get_size (GTK_WINDOW (dialog), + NULL, &window_height); + + gtk_widget_size_request (chat->input_text_view, &req); + + allocation = >K_WIDGET (chat->view)->allocation; + + priv->default_window_height = window_height; + priv->last_input_height = req.height; + priv->padding_height = window_height - req.height - allocation->height; + + chat->is_first_char = FALSE; + } + + gtk_text_buffer_get_start_iter (buffer, &start); + + if (!spell_checker) { + gtk_text_buffer_get_end_iter (buffer, &end); + gtk_text_buffer_remove_tag_by_name (buffer, "misspelled", &start, &end); + return; + } + + if (!gossip_spell_supported ()) { + return; + } + + /* NOTE: this is really inefficient, we shouldn't have to + reiterate the whole buffer each time and check each work + every time. */ + while (TRUE) { + gboolean correct = FALSE; + + /* if at start */ + if (gtk_text_iter_is_start (&start)) { + end = start; + + if (!gtk_text_iter_forward_word_end (&end)) { + /* no whole word yet */ + break; + } + } else { + if (!gtk_text_iter_forward_word_end (&end)) { + /* must be the end of the buffer */ + break; + } + + start = end; + gtk_text_iter_backward_word_start (&start); + } + + str = gtk_text_buffer_get_text (buffer, &start, &end, FALSE); + + /* spell check string */ + if (!gossip_chat_get_is_command (str)) { + correct = gossip_spell_check (str); + } else { + correct = TRUE; + } + + if (!correct) { + gtk_text_buffer_apply_tag_by_name (buffer, "misspelled", &start, &end); + } else { + gtk_text_buffer_remove_tag_by_name (buffer, "misspelled", &start, &end); + } + + g_free (str); + + /* set start iter to the end iters position */ + start = end; + } +} + +typedef struct { + GtkWidget *window; + gint width; + gint height; +} ChangeSizeData; + +static gboolean +chat_change_size_in_idle_cb (ChangeSizeData *data) +{ + gtk_window_resize (GTK_WINDOW (data->window), + data->width, data->height); + + return FALSE; +} + +static void +chat_text_view_scroll_hide_cb (GtkWidget *widget, + GossipChat *chat) +{ + GossipChatPriv *priv; + GtkWidget *sw; + + priv = GET_PRIV (chat); + + priv->vscroll_visible = FALSE; + g_signal_handlers_disconnect_by_func (widget, chat_text_view_scroll_hide_cb, chat); + + sw = gtk_widget_get_parent (chat->input_text_view); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), + GTK_POLICY_NEVER, + GTK_POLICY_NEVER); + g_object_set (sw, "height-request", -1, NULL); +} + +static void +chat_text_view_size_allocate_cb (GtkWidget *widget, + GtkAllocation *allocation, + GossipChat *chat) +{ + GossipChatPriv *priv; + gint width; + GtkWidget *dialog; + ChangeSizeData *data; + gint window_height; + gint new_height; + GtkAllocation *view_allocation; + gint current_height; + gint diff; + GtkWidget *sw; + + priv = GET_PRIV (chat); + + if (priv->default_window_height <= 0) { + return; + } + + sw = gtk_widget_get_parent (widget); + if (sw->allocation.height >= MAX_INPUT_HEIGHT && !priv->vscroll_visible) { + GtkWidget *vscroll; + + priv->vscroll_visible = TRUE; + gtk_widget_set_size_request (sw, sw->allocation.width, MAX_INPUT_HEIGHT); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), + GTK_POLICY_NEVER, + GTK_POLICY_AUTOMATIC); + vscroll = gtk_scrolled_window_get_vscrollbar (GTK_SCROLLED_WINDOW (sw)); + g_signal_connect (vscroll, "hide", + G_CALLBACK (chat_text_view_scroll_hide_cb), + chat); + } + + if (priv->last_input_height <= allocation->height) { + priv->last_input_height = allocation->height; + return; + } + + diff = priv->last_input_height - allocation->height; + priv->last_input_height = allocation->height; + + view_allocation = >K_WIDGET (chat->view)->allocation; + + dialog = gossip_chat_window_get_dialog (priv->window); + gtk_window_get_size (GTK_WINDOW (dialog), NULL, ¤t_height); + + new_height = view_allocation->height + priv->padding_height + allocation->height - diff; + + if (new_height <= priv->default_window_height) { + window_height = priv->default_window_height; + } else { + window_height = new_height; + } + + if (current_height <= window_height) { + return; + } + + /* Restore the window's size */ + gtk_window_get_size (GTK_WINDOW (dialog), &width, NULL); + + data = g_new0 (ChangeSizeData, 1); + data->window = dialog; + data->width = width; + data->height = window_height; + + g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, + (GSourceFunc) chat_change_size_in_idle_cb, + data, g_free); +} + +static void +chat_text_view_realize_cb (GtkWidget *widget, + GossipChat *chat) +{ + gossip_debug (DEBUG_DOMAIN, "Setting focus to the input text view"); + gtk_widget_grab_focus (widget); +} + +static void +chat_insert_smiley_activate_cb (GtkWidget *menuitem, + GossipChat *chat) +{ + GtkTextBuffer *buffer; + GtkTextIter iter; + const gchar *smiley; + + smiley = g_object_get_data (G_OBJECT (menuitem), "smiley_text"); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (chat->input_text_view)); + + gtk_text_buffer_get_end_iter (buffer, &iter); + gtk_text_buffer_insert (buffer, &iter, smiley, -1); + + gtk_text_buffer_get_end_iter (buffer, &iter); + gtk_text_buffer_insert (buffer, &iter, " ", -1); +} + +static void +chat_text_populate_popup_cb (GtkTextView *view, + GtkMenu *menu, + GossipChat *chat) +{ + GossipChatPriv *priv; + GtkTextBuffer *buffer; + GtkTextTagTable *table; + GtkTextTag *tag; + gint x, y; + GtkTextIter iter, start, end; + GtkWidget *item; + gchar *str = NULL; + GossipChatSpell *chat_spell; + GtkWidget *smiley_menu; + + priv = GET_PRIV (chat); + + /* Add the emoticon menu. */ + item = gtk_separator_menu_item_new (); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + + item = gtk_menu_item_new_with_mnemonic (_("Insert Smiley")); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + + smiley_menu = gossip_chat_view_get_smiley_menu ( + G_CALLBACK (chat_insert_smiley_activate_cb), + chat, + priv->tooltips); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), smiley_menu); + + /* Add the spell check menu item. */ + buffer = gtk_text_view_get_buffer (view); + table = gtk_text_buffer_get_tag_table (buffer); + + tag = gtk_text_tag_table_lookup (table, "misspelled"); + + gtk_widget_get_pointer (GTK_WIDGET (view), &x, &y); + + gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (view), + GTK_TEXT_WINDOW_WIDGET, + x, y, + &x, &y); + + gtk_text_view_get_iter_at_location (GTK_TEXT_VIEW (view), &iter, x, y); + + start = end = iter; + + if (gtk_text_iter_backward_to_tag_toggle (&start, tag) && + gtk_text_iter_forward_to_tag_toggle (&end, tag)) { + + str = gtk_text_buffer_get_text (buffer, + &start, &end, FALSE); + } + + if (G_STR_EMPTY (str)) { + return; + } + + chat_spell = chat_spell_new (chat, str, start, end); + + g_object_set_data_full (G_OBJECT (menu), + "chat_spell", chat_spell, + (GDestroyNotify) chat_spell_free); + + item = gtk_separator_menu_item_new (); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + + item = gtk_menu_item_new_with_mnemonic (_("_Check Word Spelling...")); + g_signal_connect (item, + "activate", + G_CALLBACK (chat_text_check_word_spelling_cb), + chat_spell); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); +} + +static void +chat_text_check_word_spelling_cb (GtkMenuItem *menuitem, + GossipChatSpell *chat_spell) +{ +/*FIXME: gossip_spell_dialog_show (chat_spell->chat, + chat_spell->start, + chat_spell->end, + chat_spell->word);*/ +} + +static GossipChatSpell * +chat_spell_new (GossipChat *chat, + const gchar *word, + GtkTextIter start, + GtkTextIter end) +{ + GossipChatSpell *chat_spell; + + chat_spell = g_new0 (GossipChatSpell, 1); + + chat_spell->chat = g_object_ref (chat); + chat_spell->word = g_strdup (word); + chat_spell->start = start; + chat_spell->end = end; + + return chat_spell; +} + +static void +chat_spell_free (GossipChatSpell *chat_spell) +{ + g_object_unref (chat_spell->chat); + g_free (chat_spell->word); + g_free (chat_spell); +} + +static void +chat_composing_start (GossipChat *chat) +{ + GossipChatPriv *priv; + + priv = GET_PRIV (chat); + + if (priv->composing_stop_timeout_id) { + /* Just restart the timeout */ + chat_composing_remove_timeout (chat); + } else { + empathy_tp_chat_set_state (priv->tp_chat, + TP_CHANNEL_CHAT_STATE_COMPOSING); + } + + priv->composing_stop_timeout_id = g_timeout_add ( + 1000 * COMPOSING_STOP_TIMEOUT, + (GSourceFunc) chat_composing_stop_timeout_cb, + chat); +} + +static void +chat_composing_stop (GossipChat *chat) +{ + GossipChatPriv *priv; + + priv = GET_PRIV (chat); + + chat_composing_remove_timeout (chat); + empathy_tp_chat_set_state (priv->tp_chat, + TP_CHANNEL_CHAT_STATE_ACTIVE); +} + +static void +chat_composing_remove_timeout (GossipChat *chat) +{ + GossipChatPriv *priv; + + priv = GET_PRIV (chat); + + if (priv->composing_stop_timeout_id) { + g_source_remove (priv->composing_stop_timeout_id); + priv->composing_stop_timeout_id = 0; + } +} + +static gboolean +chat_composing_stop_timeout_cb (GossipChat *chat) +{ + GossipChatPriv *priv; + + priv = GET_PRIV (chat); + + priv->composing_stop_timeout_id = 0; + empathy_tp_chat_set_state (priv->tp_chat, + TP_CHANNEL_CHAT_STATE_PAUSED); + + return FALSE; +} + +static void +chat_state_changed_cb (EmpathyTpChat *tp_chat, + GossipContact *contact, + TelepathyChannelChatState state, + GossipChat *chat) +{ + GossipChatPriv *priv; + GossipContact *own_contact; + GList *l; + gboolean was_composing; + + priv = GET_PRIV (chat); + + own_contact = gossip_contact_get_user (contact); + if (gossip_contact_equal (own_contact, contact)) { + /* We don't care about our own chat state */ + return; + } + + was_composing = (priv->compositors != NULL); + + /* Find the contact in the list. After that l is the list elem or NULL */ + for (l = priv->compositors; l; l = l->next) { + if (gossip_contact_equal (contact, l->data)) { + break; + } + } + + switch (state) { + case TP_CHANNEL_CHAT_STATE_GONE: + case TP_CHANNEL_CHAT_STATE_INACTIVE: + case TP_CHANNEL_CHAT_STATE_ACTIVE: + /* Contact is not composing */ + if (l) { + priv->compositors = g_list_remove_link (priv->compositors, l); + g_object_unref (l->data); + g_list_free1 (l); + } + break; + case TP_CHANNEL_CHAT_STATE_PAUSED: + case TP_CHANNEL_CHAT_STATE_COMPOSING: + /* Contact is composing */ + if (!l) { + priv->compositors = g_list_prepend (priv->compositors, + g_object_ref (contact)); + } + break; + default: + g_assert_not_reached (); + } + + gossip_debug (DEBUG_DOMAIN, "Was composing: %s now composing: %s", + was_composing ? "yes" : "no", + priv->compositors ? "yes" : "no"); + + if ((was_composing && !priv->compositors) || + (!was_composing && priv->compositors)) { + /* Composing state changed */ + g_signal_emit (chat, signals[COMPOSING], 0, + (gboolean) priv->compositors); + } +} + +/* Scroll down after the back-log has been received. */ +static gboolean +chat_scroll_down_idle_func (GossipChat *chat) +{ + GossipChatPriv *priv; + + priv = GET_PRIV (chat); + + gossip_chat_scroll_down (chat); + g_object_unref (chat); + + priv->scroll_idle_id = 0; + + return FALSE; +} + +gboolean +gossip_chat_get_is_command (const gchar *str) +{ + g_return_val_if_fail (str != NULL, FALSE); + + if (str[0] != '/') { + return FALSE; + } + + if (g_str_has_prefix (str, "/me")) { + return TRUE; + } + else if (g_str_has_prefix (str, "/nick")) { + return TRUE; + } + else if (g_str_has_prefix (str, "/topic")) { + return TRUE; + } + + return FALSE; +} + +void +gossip_chat_correct_word (GossipChat *chat, + GtkTextIter start, + GtkTextIter end, + const gchar *new_word) +{ + GtkTextBuffer *buffer; + + g_return_if_fail (chat != NULL); + g_return_if_fail (new_word != NULL); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (chat->input_text_view)); + + gtk_text_buffer_delete (buffer, &start, &end); + gtk_text_buffer_insert (buffer, &start, + new_word, + -1); +} + +const gchar * +gossip_chat_get_name (GossipChat *chat) +{ + g_return_val_if_fail (GOSSIP_IS_CHAT (chat), NULL); + + if (GOSSIP_CHAT_GET_CLASS (chat)->get_name) { + return GOSSIP_CHAT_GET_CLASS (chat)->get_name (chat); + } + + return NULL; +} + +gchar * +gossip_chat_get_tooltip (GossipChat *chat) +{ + g_return_val_if_fail (GOSSIP_IS_CHAT (chat), NULL); + + if (GOSSIP_CHAT_GET_CLASS (chat)->get_tooltip) { + return GOSSIP_CHAT_GET_CLASS (chat)->get_tooltip (chat); + } + + return NULL; +} + +const gchar * +gossip_chat_get_status_icon_name (GossipChat *chat) +{ + g_return_val_if_fail (GOSSIP_IS_CHAT (chat), NULL); + + if (GOSSIP_CHAT_GET_CLASS (chat)->get_status_icon_name) { + return GOSSIP_CHAT_GET_CLASS (chat)->get_status_icon_name (chat); + } + + return NULL; +} + +GtkWidget * +gossip_chat_get_widget (GossipChat *chat) +{ + g_return_val_if_fail (GOSSIP_IS_CHAT (chat), NULL); + + if (GOSSIP_CHAT_GET_CLASS (chat)->get_widget) { + return GOSSIP_CHAT_GET_CLASS (chat)->get_widget (chat); + } + + return NULL; +} + +gboolean +gossip_chat_is_group_chat (GossipChat *chat) +{ + g_return_val_if_fail (GOSSIP_IS_CHAT (chat), FALSE); + + if (GOSSIP_CHAT_GET_CLASS (chat)->is_group_chat) { + return GOSSIP_CHAT_GET_CLASS (chat)->is_group_chat (chat); + } + + return FALSE; +} + +gboolean +gossip_chat_is_connected (GossipChat *chat) +{ + GossipChatPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CHAT (chat), FALSE); + + priv = GET_PRIV (chat); + + return (priv->tp_chat != NULL); +} + +void +gossip_chat_save_geometry (GossipChat *chat, + gint x, + gint y, + gint w, + gint h) +{ + gossip_geometry_save (gossip_chat_get_id (chat), x, y, w, h); +} + +void +gossip_chat_load_geometry (GossipChat *chat, + gint *x, + gint *y, + gint *w, + gint *h) +{ + gossip_geometry_load (gossip_chat_get_id (chat), x, y, w, h); +} + +void +gossip_chat_set_tp_chat (GossipChat *chat, + EmpathyTpChat *tp_chat) +{ + GossipChatPriv *priv; + GtkWidget *widget; + + g_return_if_fail (GOSSIP_IS_CHAT (chat)); + g_return_if_fail (EMPATHY_IS_TP_CHAT (tp_chat)); + + priv = GET_PRIV (chat); + + if (tp_chat == priv->tp_chat) { + return; + } + + if (priv->tp_chat) { + g_signal_handlers_disconnect_by_func (priv->tp_chat, + chat_message_received_cb, + chat); + g_signal_handlers_disconnect_by_func (priv->tp_chat, + chat_destroy_cb, + chat); + g_object_unref (priv->tp_chat); + } + + g_free (priv->id); + priv->tp_chat = g_object_ref (tp_chat); + priv->id = g_strdup (empathy_tp_chat_get_id (tp_chat)); + + g_signal_connect (tp_chat, "message-received", + G_CALLBACK (chat_message_received_cb), + chat); + g_signal_connect (tp_chat, "chat-state-changed", + G_CALLBACK (chat_state_changed_cb), + chat); + g_signal_connect (tp_chat, "destroy", + G_CALLBACK (chat_destroy_cb), + chat); + + empathy_tp_chat_request_pending (tp_chat); + + if (!priv->sensitive) { + widget = gossip_chat_get_widget (chat); + gtk_widget_set_sensitive (widget, TRUE); + gossip_chat_view_append_event (chat->view, _("Connected")); + priv->sensitive = TRUE; + } +} + +const gchar * +gossip_chat_get_id (GossipChat *chat) +{ + GossipChatPriv *priv; + + priv = GET_PRIV (chat); + + return priv->id; +} + +void +gossip_chat_clear (GossipChat *chat) +{ + g_return_if_fail (GOSSIP_IS_CHAT (chat)); + + gossip_chat_view_clear (chat->view); +} + +void +gossip_chat_set_window (GossipChat *chat, + GossipChatWindow *window) +{ + GossipChatPriv *priv; + + priv = GET_PRIV (chat); + priv->window = window; +} + +GossipChatWindow * +gossip_chat_get_window (GossipChat *chat) +{ + GossipChatPriv *priv; + + priv = GET_PRIV (chat); + + return priv->window; +} + +void +gossip_chat_scroll_down (GossipChat *chat) +{ + g_return_if_fail (GOSSIP_IS_CHAT (chat)); + + gossip_chat_view_scroll_down (chat->view); +} + +void +gossip_chat_cut (GossipChat *chat) +{ + GtkTextBuffer *buffer; + + g_return_if_fail (GOSSIP_IS_CHAT (chat)); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (chat->input_text_view)); + if (gtk_text_buffer_get_selection_bounds (buffer, NULL, NULL)) { + GtkClipboard *clipboard; + + clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); + + gtk_text_buffer_cut_clipboard (buffer, clipboard, TRUE); + } +} + +void +gossip_chat_copy (GossipChat *chat) +{ + GtkTextBuffer *buffer; + + g_return_if_fail (GOSSIP_IS_CHAT (chat)); + + if (gossip_chat_view_get_selection_bounds (chat->view, NULL, NULL)) { + gossip_chat_view_copy_clipboard (chat->view); + return; + } + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (chat->input_text_view)); + if (gtk_text_buffer_get_selection_bounds (buffer, NULL, NULL)) { + GtkClipboard *clipboard; + + clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); + + gtk_text_buffer_copy_clipboard (buffer, clipboard); + } +} + +void +gossip_chat_paste (GossipChat *chat) +{ + GtkTextBuffer *buffer; + GtkClipboard *clipboard; + + g_return_if_fail (GOSSIP_IS_CHAT (chat)); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (chat->input_text_view)); + clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); + + gtk_text_buffer_paste_clipboard (buffer, clipboard, NULL, TRUE); +} + +void +gossip_chat_present (GossipChat *chat) +{ + GossipChatPriv *priv; + + g_return_if_fail (GOSSIP_IS_CHAT (chat)); + + priv = GET_PRIV (chat); + + if (priv->window == NULL) { + GossipChatWindow *window; + + window = gossip_chat_window_get_default (); + if (!window) { + window = gossip_chat_window_new (); + } + + gossip_chat_window_add_chat (window, chat); + } + + gossip_chat_window_switch_to_chat (priv->window, chat); + gossip_window_present ( + GTK_WINDOW (gossip_chat_window_get_dialog (priv->window)), + TRUE); + + gtk_widget_grab_focus (chat->input_text_view); +} + +gboolean +gossip_chat_should_play_sound (GossipChat *chat) +{ + GossipChatWindow *window; + gboolean play = TRUE; + + g_return_val_if_fail (GOSSIP_IS_CHAT (chat), FALSE); + + window = gossip_chat_get_window (chat); + if (!window) { + return TRUE; + } + + play = !gossip_chat_window_has_focus (window); + + return play; +} + +gboolean +gossip_chat_should_highlight_nick (GossipMessage *message) +{ + GossipContact *my_contact; + const gchar *msg, *to; + gchar *cf_msg, *cf_to; + gchar *ch; + gboolean ret_val; + + g_return_val_if_fail (GOSSIP_IS_MESSAGE (message), FALSE); + + gossip_debug (DEBUG_DOMAIN, "Highlighting nickname"); + + ret_val = FALSE; + + msg = gossip_message_get_body (message); + if (!msg) { + return FALSE; + } + + my_contact = gossip_contact_get_user (gossip_message_get_sender (message)); + to = gossip_contact_get_name (my_contact); + if (!to) { + return FALSE; + } + + cf_msg = g_utf8_casefold (msg, -1); + cf_to = g_utf8_casefold (to, -1); + + ch = strstr (cf_msg, cf_to); + if (ch == NULL) { + goto finished; + } + + if (ch != cf_msg) { + /* Not first in the message */ + if ((*(ch - 1) != ' ') && + (*(ch - 1) != ',') && + (*(ch - 1) != '.')) { + goto finished; + } + } + + ch = ch + strlen (cf_to); + if (ch >= cf_msg + strlen (cf_msg)) { + ret_val = TRUE; + goto finished; + } + + if ((*ch == ' ') || + (*ch == ',') || + (*ch == '.') || + (*ch == ':')) { + ret_val = TRUE; + goto finished; + } + +finished: + g_free (cf_msg); + g_free (cf_to); + + return ret_val; +} + diff --git a/trunk/libempathy-gtk/gossip-chat.glade b/trunk/libempathy-gtk/gossip-chat.glade new file mode 100644 index 000000000..d07bf77e6 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-chat.glade @@ -0,0 +1,699 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkWindow" id="chat_page_window"> + <property name="title" translatable="yes">Chat</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">350</property> + <property name="default_height">250</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="GtkVBox" id="chat_widget"> + <property name="border_width">4</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">3</property> + + <child> + <widget class="GtkScrolledWindow" id="chat_view_sw"> + <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_ALWAYS</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="input_text_view_sw"> + <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">False</property> + </packing> + </child> + </widget> + </child> +</widget> + +<widget class="GtkWindow" id="chat_window"> + <property name="title" translatable="yes">Chat</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">350</property> + <property name="default_height">250</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="GtkVBox" id="chat_vbox"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkMenuBar" id="chats_menubar"> + <property name="visible">True</property> + <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property> + <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property> + + <child> + <widget class="GtkMenuItem" id="menu_conv"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Conversation</property> + <property name="use_underline">True</property> + + <child> + <widget class="GtkMenu" id="menu_conv_menu"> + + <child> + <widget class="GtkImageMenuItem" id="menu_conv_clear"> + <property name="visible">True</property> + <property name="label" translatable="yes">C_lear</property> + <property name="use_underline">True</property> + + <child internal-child="image"> + <widget class="GtkImage" id="image235"> + <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> + + <child> + <widget class="GtkMenuItem" id="menu_conv_insert_smiley"> + <property name="visible">True</property> + <property name="label" translatable="yes">Insert _Smiley</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="separator11"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="menu_conv_log"> + <property name="visible">True</property> + <property name="label" translatable="yes">_View Previous Conversations</property> + <property name="use_underline">True</property> + <accelerator key="F3" modifiers="0" signal="activate"/> + + <child internal-child="image"> + <widget class="GtkImage" id="image236"> + <property name="visible">True</property> + <property name="stock">gtk-justify-left</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="menu_conv_separator"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="menu_conv_add_contact"> + <property name="label" translatable="yes">_Add Contact...</property> + <property name="use_underline">True</property> + + <child internal-child="image"> + <widget class="GtkImage" id="image237"> + <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> + + <child> + <widget class="GtkImageMenuItem" id="menu_conv_info"> + <property name="visible">True</property> + <property name="label" translatable="yes">Contact Infor_mation</property> + <property name="use_underline">True</property> + + <child internal-child="image"> + <widget class="GtkImage" id="image238"> + <property name="visible">True</property> + <property name="stock">gtk-info</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="separator7"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="menu_conv_close"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Close</property> + <property name="use_underline">True</property> + <accelerator key="W" modifiers="GDK_CONTROL_MASK" signal="activate"/> + + <child internal-child="image"> + <widget class="GtkImage" id="image239"> + <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">0</property> + </widget> + </child> + </widget> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menu_room"> + <property name="label" translatable="yes">_Room</property> + <property name="use_underline">True</property> + + <child> + <widget class="GtkMenu" id="menu_room_menu"> + + <child> + <widget class="GtkMenuItem" id="menu_room_set_topic"> + <property name="visible">True</property> + <property name="label" translatable="yes">Change _Topic...</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="separator12"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="menu_room_join_new"> + <property name="visible">True</property> + <property name="label" translatable="yes">Join _New...</property> + <property name="use_underline">True</property> + + <child internal-child="image"> + <widget class="GtkImage" id="image240"> + <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="menu_room_invite"> + <property name="visible">True</property> + <property name="label" translatable="yes">In_vite...</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="separator7"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkImageMenuItem" id="menu_room_add"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Add To Favorites</property> + <property name="use_underline">True</property> + + <child internal-child="image"> + <widget class="GtkImage" id="image241"> + <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> + + <child> + <widget class="GtkSeparatorMenuItem" id="separator10"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkCheckMenuItem" id="menu_room_show_contacts"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Show Contacts</property> + <property name="use_underline">True</property> + <property name="active">True</property> + <accelerator key="F11" modifiers="0" signal="activate"/> + </widget> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menu_edit"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Edit</property> + <property name="use_underline">True</property> + + <child> + <widget class="GtkMenu" id="menu_edit_menu"> + + <child> + <widget class="GtkImageMenuItem" id="menu_edit_cut"> + <property name="visible">True</property> + <property name="label" translatable="yes">Cu_t</property> + <property name="use_underline">True</property> + <accelerator key="X" modifiers="GDK_CONTROL_MASK" signal="activate"/> + + <child internal-child="image"> + <widget class="GtkImage" id="image242"> + <property name="visible">True</property> + <property name="stock">gtk-cut</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="menu_edit_copy"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Copy</property> + <property name="use_underline">True</property> + <accelerator key="C" modifiers="GDK_CONTROL_MASK" signal="activate"/> + + <child internal-child="image"> + <widget class="GtkImage" id="image243"> + <property name="visible">True</property> + <property name="stock">gtk-copy</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="menu_edit_paste"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Paste</property> + <property name="use_underline">True</property> + <accelerator key="V" modifiers="GDK_CONTROL_MASK" signal="activate"/> + + <child internal-child="image"> + <widget class="GtkImage" id="image244"> + <property name="visible">True</property> + <property name="stock">gtk-paste</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> + + <child> + <widget class="GtkMenuItem" id="menu_tabs"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Tabs</property> + <property name="use_underline">True</property> + + <child> + <widget class="GtkMenu" id="menu_tabs_menu"> + + <child> + <widget class="GtkMenuItem" id="menu_tabs_prev"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Previous Tab</property> + <property name="use_underline">True</property> + <accelerator key="Page_Up" modifiers="GDK_CONTROL_MASK" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menu_tabs_next"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Next Tab</property> + <property name="use_underline">True</property> + <accelerator key="Page_Down" modifiers="GDK_CONTROL_MASK" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="separator4"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menu_tabs_left"> + <property name="visible">True</property> + <property name="label" translatable="yes">Move Tab _Left</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menu_tabs_right"> + <property name="visible">True</property> + <property name="label" translatable="yes">Move Tab _Right</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="menu_tabs_detach"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Detach Tab</property> + <property name="use_underline">True</property> + </widget> + </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> + </widget> + </child> +</widget> + +<widget class="GtkDialog" id="chat_invite_dialog"> + <property name="border_width">5</property> + <property name="title" translatable="yes">Invite</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property> + <property name="modal">True</property> + <property name="default_width">275</property> + <property name="default_height">225</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_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <property name="has_separator">False</property> + + <child internal-child="vbox"> + <widget class="GtkVBox" id="vbox6"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="hbuttonbox1"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="button_cancel"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-cancel</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-6</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="button_invite"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="can_focus">True</property> + <property name="label">In_vite</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-5</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox7"> + <property name="border_width">5</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">18</property> + + <child> + <widget class="GtkVBox" id="vbox7"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkLabel" id="label"> + <property name="visible">True</property> + <property name="label" translatable="yes">Select who would you like to invite:</property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</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="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="GtkScrolledWindow" id="scrolledwindow1"> + <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="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> + </widget> + </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">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox8"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkLabel" id="label4"> + <property name="visible">True</property> + <property name="label" translatable="yes">Invitation _message:</property> + <property name="use_underline">True</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</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">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">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="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">You have been invited to join a chat conference.</property> + <property name="has_frame">True</property> + <property name="invisible_char">*</property> + <property name="activates_default">True</property> + <property name="width_chars">40</property> + </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">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + </child> +</widget> + +</glade-interface> diff --git a/trunk/libempathy-gtk/gossip-chat.h b/trunk/libempathy-gtk/gossip-chat.h new file mode 100644 index 000000000..5fedfdd01 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-chat.h @@ -0,0 +1,120 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2002-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Geert-Jan Van den Bogaerde <geertjan@gnome.org> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_CHAT_H__ +#define __GOSSIP_CHAT_H__ + +#include <glib-object.h> + +#include <libempathy/gossip-contact.h> +#include <libempathy/gossip-message.h> +#include <libempathy/empathy-tp-chat.h> + +#include "gossip-chat-view.h" +#include "gossip-spell.h" + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_CHAT (gossip_chat_get_type ()) +#define GOSSIP_CHAT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_CHAT, GossipChat)) +#define GOSSIP_CHAT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOSSIP_TYPE_CHAT, GossipChatClass)) +#define GOSSIP_IS_CHAT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_CHAT)) +#define GOSSIP_IS_CHAT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_CHAT)) +#define GOSSIP_CHAT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_CHAT, GossipChatClass)) + +typedef struct _GossipChat GossipChat; +typedef struct _GossipChatClass GossipChatClass; +typedef struct _GossipChatPriv GossipChatPriv; + +#include "gossip-chat-window.h" + +struct _GossipChat { + GObject parent; + + /* Protected */ + GossipChatView *view; + GtkWidget *input_text_view; + gboolean is_first_char; + McAccount *account; +}; + +struct _GossipChatClass { + GObjectClass parent; + + /* VTable */ + const gchar * (*get_name) (GossipChat *chat); + gchar * (*get_tooltip) (GossipChat *chat); + const gchar * (*get_status_icon_name)(GossipChat *chat); + GtkWidget * (*get_widget) (GossipChat *chat); + gboolean (*is_group_chat) (GossipChat *chat); +}; + +GType gossip_chat_get_type (void); + +GossipChatView * gossip_chat_get_view (GossipChat *chat); +GossipChatWindow *gossip_chat_get_window (GossipChat *chat); +void gossip_chat_set_window (GossipChat *chat, + GossipChatWindow *window); +void gossip_chat_present (GossipChat *chat); +void gossip_chat_clear (GossipChat *chat); +void gossip_chat_scroll_down (GossipChat *chat); +void gossip_chat_cut (GossipChat *chat); +void gossip_chat_copy (GossipChat *chat); +void gossip_chat_paste (GossipChat *chat); +const gchar * gossip_chat_get_name (GossipChat *chat); +gchar * gossip_chat_get_tooltip (GossipChat *chat); +const gchar * gossip_chat_get_status_icon_name (GossipChat *chat); +GtkWidget * gossip_chat_get_widget (GossipChat *chat); +gboolean gossip_chat_is_group_chat (GossipChat *chat); +gboolean gossip_chat_is_connected (GossipChat *chat); + +void gossip_chat_save_geometry (GossipChat *chat, + gint x, + gint y, + gint w, + gint h); +void gossip_chat_load_geometry (GossipChat *chat, + gint *x, + gint *y, + gint *w, + gint *h); +void gossip_chat_set_tp_chat (GossipChat *chat, + EmpathyTpChat *tp_chat); +const gchar * gossip_chat_get_id (GossipChat *chat); + +/* For spell checker dialog to correct the misspelled word. */ +gboolean gossip_chat_get_is_command (const gchar *str); +void gossip_chat_correct_word (GossipChat *chat, + GtkTextIter start, + GtkTextIter end, + const gchar *new_word); +gboolean gossip_chat_should_play_sound (GossipChat *chat); +gboolean gossip_chat_should_highlight_nick (GossipMessage *message); + +G_END_DECLS + +#endif /* __GOSSIP_CHAT_H__ */ diff --git a/trunk/libempathy-gtk/gossip-chatrooms-window.c b/trunk/libempathy-gtk/gossip-chatrooms-window.c new file mode 100644 index 000000000..5ff5d8812 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-chatrooms-window.c @@ -0,0 +1,530 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + * Martyn Russell <martyn@imendio.com> + * Mikael Hallendal <micke@imendio.com> + */ + +#include "config.h" + +#include <string.h> +#include <stdio.h> + +#include <gtk/gtk.h> +#include <glade/glade.h> +#include <glib.h> +#include <glib/gi18n.h> + +#include <libempathy/gossip-chatroom-manager.h> +#include <libempathy/gossip-utils.h> + +#include "gossip-account-chooser.h" +#include "gossip-chatrooms-window.h" +//#include "gossip-edit-chatroom-dialog.h" +#include "gossip-new-chatroom-dialog.h" +#include "gossip-ui-utils.h" + +typedef struct { + GossipChatroomManager *manager; + + GtkWidget *window; + GtkWidget *hbox_account; + GtkWidget *label_account; + GtkWidget *account_chooser; + GtkWidget *treeview; + GtkWidget *button_remove; + GtkWidget *button_edit; + GtkWidget *button_close; + + gint room_column; +} GossipChatroomsWindow; + +static void chatrooms_window_destroy_cb (GtkWidget *widget, + GossipChatroomsWindow *window); +static void chatrooms_window_model_setup (GossipChatroomsWindow *window); +static void chatrooms_window_model_add_columns (GossipChatroomsWindow *window); +static void chatrooms_window_model_refresh_data (GossipChatroomsWindow *window, + gboolean first_time); +static void chatrooms_window_model_add (GossipChatroomsWindow *window, + GossipChatroom *chatroom, + gboolean set_active); +static void chatrooms_window_model_cell_auto_connect_toggled (GtkCellRendererToggle *cell, + gchar *path_string, + GossipChatroomsWindow *window); +static GossipChatroom * chatrooms_window_model_get_selected (GossipChatroomsWindow *window); +static void chatrooms_window_model_action_selected (GossipChatroomsWindow *window); +static void chatrooms_window_row_activated_cb (GtkTreeView *tree_view, + GtkTreePath *path, + GtkTreeViewColumn *column, + GossipChatroomsWindow *window); +static void chatrooms_window_button_remove_clicked_cb (GtkWidget *widget, + GossipChatroomsWindow *window); +static void chatrooms_window_button_edit_clicked_cb (GtkWidget *widget, + GossipChatroomsWindow *window); +static void chatrooms_window_button_close_clicked_cb (GtkWidget *widget, + GossipChatroomsWindow *window); +static void chatrooms_window_chatroom_added_cb (GossipChatroomManager *manager, + GossipChatroom *chatroom, + GossipChatroomsWindow *window); +static void chatrooms_window_account_changed_cb (GtkWidget *combo_box, + GossipChatroomsWindow *window); + +enum { + COL_IMAGE, + COL_NAME, + COL_ROOM, + COL_AUTO_CONNECT, + COL_POINTER, + COL_COUNT +}; + +void +gossip_chatrooms_window_show (GtkWindow *parent) +{ + static GossipChatroomsWindow *window = NULL; + GladeXML *glade; + + if (window) { + gtk_window_present (GTK_WINDOW (window->window)); + return; + } + + window = g_new0 (GossipChatroomsWindow, 1); + + glade = gossip_glade_get_file ("gossip-chatrooms-window.glade", + "chatrooms_window", + NULL, + "chatrooms_window", &window->window, + "hbox_account", &window->hbox_account, + "label_account", &window->label_account, + "treeview", &window->treeview, + "button_edit", &window->button_edit, + "button_remove", &window->button_remove, + "button_close", &window->button_close, + NULL); + + gossip_glade_connect (glade, + window, + "chatrooms_window", "destroy", chatrooms_window_destroy_cb, + "button_remove", "clicked", chatrooms_window_button_remove_clicked_cb, + "button_edit", "clicked", chatrooms_window_button_edit_clicked_cb, + "button_close", "clicked", chatrooms_window_button_close_clicked_cb, + NULL); + + g_object_unref (glade); + + g_object_add_weak_pointer (G_OBJECT (window->window), (gpointer) &window); + + /* Get the session and chat room manager */ + window->manager = gossip_chatroom_manager_new (); + + g_signal_connect (window->manager, "chatroom-added", + G_CALLBACK (chatrooms_window_chatroom_added_cb), + window); + + /* Account chooser for chat rooms */ + window->account_chooser = gossip_account_chooser_new (); + gossip_account_chooser_set_account (GOSSIP_ACCOUNT_CHOOSER (window->account_chooser), NULL); + g_object_set (window->account_chooser, + "can-select-all", TRUE, + "has-all-option", TRUE, + NULL); + + gtk_box_pack_start (GTK_BOX (window->hbox_account), + window->account_chooser, + TRUE, TRUE, 0); + + g_signal_connect (window->account_chooser, "changed", + G_CALLBACK (chatrooms_window_account_changed_cb), + window); + + gtk_widget_show (window->account_chooser); + + /* Set up chatrooms */ + chatrooms_window_model_setup (window); + + /* Set focus */ + gtk_widget_grab_focus (window->treeview); + + /* Last touches */ + if (parent) { + gtk_window_set_transient_for (GTK_WINDOW (window->window), + GTK_WINDOW (parent)); + } + + gtk_widget_show (window->window); +} + +static void +chatrooms_window_destroy_cb (GtkWidget *widget, + GossipChatroomsWindow *window) +{ + g_object_unref (window->manager); + g_free (window); +} + +static void +chatrooms_window_model_setup (GossipChatroomsWindow *window) +{ + GtkTreeView *view; + GtkListStore *store; + GtkTreeSelection *selection; + + /* View */ + view = GTK_TREE_VIEW (window->treeview); + + g_signal_connect (view, "row-activated", + G_CALLBACK (chatrooms_window_row_activated_cb), + window); + + /* Store */ + store = gtk_list_store_new (COL_COUNT, + G_TYPE_STRING, /* Image */ + G_TYPE_STRING, /* Name */ + G_TYPE_STRING, /* Room */ + G_TYPE_BOOLEAN, /* Auto start */ + GOSSIP_TYPE_CHATROOM); /* Chatroom */ + + gtk_tree_view_set_model (view, GTK_TREE_MODEL (store)); + + /* Selection */ + selection = gtk_tree_view_get_selection (view); + gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); + + /* Columns */ + chatrooms_window_model_add_columns (window); + + /* Add data */ + chatrooms_window_model_refresh_data (window, TRUE); + + /* Clean up */ + g_object_unref (store); +} + +static void +chatrooms_window_model_add_columns (GossipChatroomsWindow *window) +{ + GtkTreeView *view; + GtkTreeModel *model; + GtkTreeViewColumn *column; + GtkCellRenderer *cell; + gint count; + + view = GTK_TREE_VIEW (window->treeview); + model = gtk_tree_view_get_model (view); + + gtk_tree_view_set_headers_visible (view, TRUE); + gtk_tree_view_set_headers_clickable (view, TRUE); + + /* Name & Status */ + column = gtk_tree_view_column_new (); + count = gtk_tree_view_append_column (view, column); + + gtk_tree_view_column_set_title (column, _("Name")); + gtk_tree_view_column_set_expand (column, TRUE); + gtk_tree_view_column_set_sort_column_id (column, count - 1); + + cell = gtk_cell_renderer_pixbuf_new (); + gtk_tree_view_column_pack_start (column, cell, FALSE); + gtk_tree_view_column_add_attribute (column, cell, "icon-name", COL_IMAGE); + + cell = gtk_cell_renderer_text_new (); + g_object_set (cell, + "xpad", 4, + "ypad", 1, + NULL); + gtk_tree_view_column_pack_start (column, cell, TRUE); + gtk_tree_view_column_add_attribute (column, cell, "text", COL_NAME); + + /* Room */ + cell = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes (_("Room"), cell, + "text", COL_ROOM, + NULL); + count = gtk_tree_view_append_column (view, column); + gtk_tree_view_column_set_sort_column_id (column, count - 1); + window->room_column = count - 1; + + /* Chatroom auto connect */ + cell = gtk_cell_renderer_toggle_new (); + column = gtk_tree_view_column_new_with_attributes (_("Auto Connect"), cell, + "active", COL_AUTO_CONNECT, + NULL); + count = gtk_tree_view_append_column (view, column); + gtk_tree_view_column_set_sort_column_id (column, count - 1); + + g_signal_connect (cell, "toggled", + G_CALLBACK (chatrooms_window_model_cell_auto_connect_toggled), + window); + + /* Sort model */ + gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model), 0, + GTK_SORT_ASCENDING); +} + +static void +chatrooms_window_model_refresh_data (GossipChatroomsWindow *window, + gboolean first_time) +{ + GtkTreeView *view; + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkListStore *store; + GtkTreeIter iter; + GtkTreeViewColumn *column; + GossipAccountChooser *account_chooser; + McAccount *account; + GList *chatrooms, *l; + + view = GTK_TREE_VIEW (window->treeview); + selection = gtk_tree_view_get_selection (view); + model = gtk_tree_view_get_model (view); + store = GTK_LIST_STORE (model); + + /* Look up chatrooms */ + account_chooser = GOSSIP_ACCOUNT_CHOOSER (window->account_chooser); + account = gossip_account_chooser_get_account (account_chooser); + + chatrooms = gossip_chatroom_manager_get_chatrooms (window->manager, account); + + /* Sort out columns, we only show the server column for + * selected protocol types, such as Jabber. + */ + if (account) { + column = gtk_tree_view_get_column (view, window->room_column); + gtk_tree_view_column_set_visible (column, TRUE); + } else { + column = gtk_tree_view_get_column (view, window->room_column); + gtk_tree_view_column_set_visible (column, FALSE); + } + + /* Clean out the store */ + gtk_list_store_clear (store); + + /* Populate with chatroom list. */ + for (l = chatrooms; l; l = l->next) { + chatrooms_window_model_add (window, l->data, FALSE); + } + + if (gtk_tree_model_get_iter_first (model, &iter)) { + gtk_tree_selection_select_iter (selection, &iter); + } + + if (account) { + g_object_unref (account); + } + + g_list_free (chatrooms); +} + +static void +chatrooms_window_model_add (GossipChatroomsWindow *window, + GossipChatroom *chatroom, + gboolean set_active) +{ + GtkTreeView *view; + GtkTreeModel *model; + GtkTreeSelection *selection; + GtkListStore *store; + GtkTreeIter iter; + + view = GTK_TREE_VIEW (window->treeview); + selection = gtk_tree_view_get_selection (view); + model = gtk_tree_view_get_model (view); + store = GTK_LIST_STORE (model); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + COL_NAME, gossip_chatroom_get_name (chatroom), + COL_ROOM, gossip_chatroom_get_room (chatroom), + COL_AUTO_CONNECT, gossip_chatroom_get_auto_connect (chatroom), + COL_POINTER, chatroom, + -1); + + if (set_active) { + gtk_tree_selection_select_iter (selection, &iter); + } +} + +static void +chatrooms_window_model_cell_auto_connect_toggled (GtkCellRendererToggle *cell, + gchar *path_string, + GossipChatroomsWindow *window) +{ + GossipChatroom *chatroom; + gboolean enabled; + GtkTreeView *view; + GtkTreeModel *model; + GtkListStore *store; + GtkTreePath *path; + GtkTreeIter iter; + + view = GTK_TREE_VIEW (window->treeview); + model = gtk_tree_view_get_model (view); + store = GTK_LIST_STORE (model); + + path = gtk_tree_path_new_from_string (path_string); + + gtk_tree_model_get_iter (model, &iter, path); + gtk_tree_model_get (model, &iter, + COL_AUTO_CONNECT, &enabled, + COL_POINTER, &chatroom, + -1); + + enabled = !enabled; + + gossip_chatroom_set_auto_connect (chatroom, enabled); + gossip_chatroom_manager_store (window->manager); + + gtk_list_store_set (store, &iter, COL_AUTO_CONNECT, enabled, -1); + gtk_tree_path_free (path); + g_object_unref (chatroom); +} + +static GossipChatroom * +chatrooms_window_model_get_selected (GossipChatroomsWindow *window) +{ + GtkTreeView *view; + GtkTreeModel *model; + GtkTreeSelection *selection; + GtkTreeIter iter; + GossipChatroom *chatroom = NULL; + + view = GTK_TREE_VIEW (window->treeview); + selection = gtk_tree_view_get_selection (view); + + if (gtk_tree_selection_get_selected (selection, &model, &iter)) { + gtk_tree_model_get (model, &iter, COL_POINTER, &chatroom, -1); + } + + return chatroom; +} + +static void +chatrooms_window_model_action_selected (GossipChatroomsWindow *window) +{ + GossipChatroom *chatroom; + GtkTreeView *view; + GtkTreeModel *model; + + view = GTK_TREE_VIEW (window->treeview); + model = gtk_tree_view_get_model (view); + + chatroom = chatrooms_window_model_get_selected (window); + if (!chatroom) { + return; + } + + //gossip_edit_chatroom_dialog_show (GTK_WINDOW (window->window), chatroom); + + g_object_unref (chatroom); +} + +static void +chatrooms_window_row_activated_cb (GtkTreeView *tree_view, + GtkTreePath *path, + GtkTreeViewColumn *column, + GossipChatroomsWindow *window) +{ + if (GTK_WIDGET_IS_SENSITIVE (window->button_edit)) { + chatrooms_window_model_action_selected (window); + } +} + +static void +chatrooms_window_button_remove_clicked_cb (GtkWidget *widget, + GossipChatroomsWindow *window) +{ + GossipChatroom *chatroom; + GtkTreeView *view; + GtkTreeModel *model; + GtkTreeSelection *selection; + GtkTreeIter iter; + + /* Remove from treeview */ + view = GTK_TREE_VIEW (window->treeview); + selection = gtk_tree_view_get_selection (view); + + if (!gtk_tree_selection_get_selected (selection, &model, &iter)) { + return; + } + + gtk_tree_model_get (model, &iter, COL_POINTER, &chatroom, -1); + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); + + /* Remove from config */ + gossip_chatroom_manager_remove (window->manager, chatroom); + + g_object_unref (chatroom); +} + +static void +chatrooms_window_button_edit_clicked_cb (GtkWidget *widget, + GossipChatroomsWindow *window) +{ + GossipChatroom *chatroom; + + chatroom = chatrooms_window_model_get_selected (window); + if (!chatroom) { + return; + } + + //gossip_edit_chatroom_dialog_show (GTK_WINDOW (window->window), chatroom); + + g_object_unref (chatroom); +} + +static void +chatrooms_window_button_close_clicked_cb (GtkWidget *widget, + GossipChatroomsWindow *window) +{ + gtk_widget_destroy (window->window); +} + +static void +chatrooms_window_chatroom_added_cb (GossipChatroomManager *manager, + GossipChatroom *chatroom, + GossipChatroomsWindow *window) +{ + GossipAccountChooser *account_chooser; + McAccount *account; + + account_chooser = GOSSIP_ACCOUNT_CHOOSER (window->account_chooser); + account = gossip_account_chooser_get_account (account_chooser); + + if (!account) { + chatrooms_window_model_add (window, chatroom, FALSE); + } else { + if (gossip_account_equal (account, gossip_chatroom_get_account (chatroom))) { + chatrooms_window_model_add (window, chatroom, FALSE); + } + + g_object_unref (account); + } +} + +static void +chatrooms_window_account_changed_cb (GtkWidget *combo_box, + GossipChatroomsWindow *window) +{ + chatrooms_window_model_refresh_data (window, FALSE); +} + diff --git a/trunk/libempathy-gtk/gossip-chatrooms-window.glade b/trunk/libempathy-gtk/gossip-chatrooms-window.glade new file mode 100644 index 000000000..ad2971e00 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-chatrooms-window.glade @@ -0,0 +1,477 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkDialog" id="edit_chatroom_dialog"> + <property name="border_width">5</property> + <property name="visible">True</property> + <property name="title" translatable="yes">Edit Favorite Room</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">False</property> + <property name="destroy_with_parent">False</property> + <property name="icon_name">gtk-edit</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_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <property name="has_separator">False</property> + + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog-vbox3"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">2</property> + + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area3"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="button_cancel"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-cancel</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-6</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="button_save"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-save</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-5</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkTable" id="table4"> + <property name="border_width">5</property> + <property name="visible">True</property> + <property name="n_rows">5</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="entry_room"> + <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> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="entry_server"> + <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> + </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="GtkEntry" id="entry_nickname"> + <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> + </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="label_room"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Room:</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">entry_room</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">3</property> + <property name="bottom_attach">4</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label_server"> + <property name="visible">True</property> + <property name="label" translatable="yes">S_erver:</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">entry_server</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">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label_nickname"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Nickname:</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">entry_nickname</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">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label_name"> + <property name="visible">True</property> + <property name="label" translatable="yes">N_ame:</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">entry_name</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">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="entry_name"> + <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> + <property name="width_chars">25</property> + </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="GtkCheckButton" id="checkbutton_auto_connect"> + <property name="visible">True</property> + <property name="tooltip" translatable="yes">Join this chat room when Gossip starts and you are connected</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Join room on start_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> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="x_options">fill</property> + <property name="y_options"></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> + +<widget class="GtkWindow" id="chatrooms_window"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="title" translatable="yes">Manage Favorite Rooms</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property> + <property name="modal">False</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="GtkVBox" id="vbox12"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkVBox" id="vbox18"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">18</property> + + <child> + <widget class="GtkHBox" id="hbox_account"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label_account"> + <property name="visible">True</property> + <property name="label" translatable="yes">Account:</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">True</property> + </packing> + </child> + + <child> + <placeholder/> + </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="scrolledwindow1"> + <property name="height_request">150</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_AUTOMATIC</property> + <property name="shadow_type">GTK_SHADOW_IN</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <widget class="GtkTreeView" id="treeview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="has_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> + <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> + + <child> + <widget class="GtkHButtonBox" id="hbuttonbox3"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkButton" id="button_close"> + <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> + </widget> + </child> + + <child> + <widget class="GtkButton" id="button_remove"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-remove</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="button_edit"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-edit</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</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> + +</glade-interface> diff --git a/trunk/libempathy-gtk/gossip-chatrooms-window.h b/trunk/libempathy-gtk/gossip-chatrooms-window.h new file mode 100644 index 000000000..d1314ec29 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-chatrooms-window.h @@ -0,0 +1,35 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + * Martyn Russell <martyn@imendio.com> + * Mikael Hallendal <micke@imendio.com> + */ + +#ifndef __GOSSIP_CHATROOMS_WINDOW_H__ +#define __GOSSIP_CHATROOMS_WINDOW_H__ + +G_BEGIN_DECLS + +void gossip_chatrooms_window_show (GtkWindow *parent); + +G_END_DECLS + +#endif /* __GOSSIP_CHATROOMS_WINDOW_H__ */ diff --git a/trunk/libempathy-gtk/gossip-contact-groups.c b/trunk/libempathy-gtk/gossip-contact-groups.c new file mode 100644 index 000000000..8a6afda11 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-contact-groups.c @@ -0,0 +1,286 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + */ + +#include "config.h" + +#include <string.h> +#include <sys/types.h> +#include <sys/stat.h> + +#include <glib.h> +#include <glib/gi18n.h> + +#include <libxml/parser.h> +#include <libxml/tree.h> + +#include <libempathy/gossip-debug.h> +#include <libempathy/gossip-utils.h> + +#include "gossip-contact-groups.h" + +#define DEBUG_DOMAIN "ContactGroups" + +#define CONTACT_GROUPS_XML_FILENAME "contact-groups.xml" +#define CONTACT_GROUPS_DTD_FILENAME "gossip-contact-groups.dtd" + +typedef struct { + gchar *name; + gboolean expanded; +} ContactGroup; + +static void contact_groups_file_parse (const gchar *filename); +static gboolean contact_groups_file_save (void); +static ContactGroup *contact_group_new (const gchar *name, + gboolean expanded); +static void contact_group_free (ContactGroup *group); + +static GList *groups = NULL; + +void +gossip_contact_groups_get_all (void) +{ + gchar *dir; + gchar *file_with_path; + + /* If already set up clean up first */ + if (groups) { + g_list_foreach (groups, (GFunc)contact_group_free, NULL); + g_list_free (groups); + groups = NULL; + } + + dir = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, NULL); + file_with_path = g_build_filename (dir, CONTACT_GROUPS_XML_FILENAME, NULL); + g_free (dir); + + if (g_file_test (file_with_path, G_FILE_TEST_EXISTS)) { + contact_groups_file_parse (file_with_path); + } + + g_free (file_with_path); +} + +static void +contact_groups_file_parse (const gchar *filename) +{ + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + xmlNodePtr contacts; + xmlNodePtr account; + xmlNodePtr node; + + gossip_debug (DEBUG_DOMAIN, "Attempting to parse file:'%s'...", filename); + + ctxt = xmlNewParserCtxt (); + + /* Parse and validate the file. */ + doc = xmlCtxtReadFile (ctxt, filename, NULL, 0); + if (!doc) { + g_warning ("Failed to parse file:'%s'", filename); + xmlFreeParserCtxt (ctxt); + return; + } + + if (!gossip_xml_validate (doc, CONTACT_GROUPS_DTD_FILENAME)) { + g_warning ("Failed to validate file:'%s'", filename); + xmlFreeDoc(doc); + xmlFreeParserCtxt (ctxt); + return; + } + + /* The root node, contacts. */ + contacts = xmlDocGetRootElement (doc); + + account = NULL; + node = contacts->children; + while (node) { + if (strcmp ((gchar *) node->name, "account") == 0) { + account = node; + break; + } + node = node->next; + } + + node = NULL; + if (account) { + node = account->children; + } + + while (node) { + if (strcmp ((gchar *) node->name, "group") == 0) { + gchar *name; + gchar *expanded_str; + gboolean expanded; + ContactGroup *contact_group; + + name = (gchar *) xmlGetProp (node, "name"); + expanded_str = (gchar *) xmlGetProp (node, "expanded"); + + if (expanded_str && strcmp (expanded_str, "yes") == 0) { + expanded = TRUE; + } else { + expanded = FALSE; + } + + contact_group = contact_group_new (name, expanded); + groups = g_list_append (groups, contact_group); + + xmlFree (name); + xmlFree (expanded_str); + } + + node = node->next; + } + + gossip_debug (DEBUG_DOMAIN, "Parsed %d contact groups", g_list_length (groups)); + + xmlFreeDoc(doc); + xmlFreeParserCtxt (ctxt); +} + +static ContactGroup * +contact_group_new (const gchar *name, + gboolean expanded) +{ + ContactGroup *group; + + group = g_new0 (ContactGroup, 1); + + group->name = g_strdup (name); + group->expanded = expanded; + + return group; +} + +static void +contact_group_free (ContactGroup *group) +{ + g_return_if_fail (group != NULL); + + g_free (group->name); + + g_free (group); +} + +static gboolean +contact_groups_file_save (void) +{ + xmlDocPtr doc; + xmlNodePtr root; + xmlNodePtr node; + GList *l; + gchar *dir; + gchar *file; + + dir = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, NULL); + g_mkdir_with_parents (dir, S_IRUSR | S_IWUSR | S_IXUSR); + file = g_build_filename (dir, CONTACT_GROUPS_XML_FILENAME, NULL); + g_free (dir); + + doc = xmlNewDoc ("1.0"); + root = xmlNewNode (NULL, "contacts"); + xmlDocSetRootElement (doc, root); + + node = xmlNewChild (root, NULL, "account", NULL); + xmlNewProp (node, "name", "Default"); + + for (l = groups; l; l = l->next) { + ContactGroup *cg; + xmlNodePtr subnode; + + cg = l->data; + + subnode = xmlNewChild (node, NULL, "group", NULL); + xmlNewProp (subnode, "expanded", cg->expanded ? "yes" : "no"); + xmlNewProp (subnode, "name", cg->name); + } + + /* Make sure the XML is indented properly */ + xmlIndentTreeOutput = 1; + + gossip_debug (DEBUG_DOMAIN, "Saving file:'%s'", file); + xmlSaveFormatFileEnc (file, doc, "utf-8", 1); + xmlFreeDoc (doc); + + xmlCleanupParser (); + xmlMemoryDump (); + + g_free (file); + + return TRUE; +} + +gboolean +gossip_contact_group_get_expanded (const gchar *group) +{ + GList *l; + gboolean default_val = TRUE; + + g_return_val_if_fail (group != NULL, default_val); + + for (l = groups; l; l = l->next) { + ContactGroup *cg = l->data; + + if (!cg || !cg->name) { + continue; + } + + if (strcmp (cg->name, group) == 0) { + return cg->expanded; + } + } + + return default_val; +} + +void +gossip_contact_group_set_expanded (const gchar *group, + gboolean expanded) +{ + GList *l; + ContactGroup *cg; + gboolean changed = FALSE; + + g_return_if_fail (group != NULL); + + for (l = groups; l; l = l->next) { + ContactGroup *cg = l->data; + + if (!cg || !cg->name) { + continue; + } + + if (strcmp (cg->name, group) == 0) { + cg->expanded = expanded; + changed = TRUE; + break; + } + } + + /* if here... we don't have a ContactGroup for the group. */ + if (!changed) { + cg = contact_group_new (group, expanded); + groups = g_list_append (groups, cg); + } + + contact_groups_file_save (); +} diff --git a/trunk/libempathy-gtk/gossip-contact-groups.dtd b/trunk/libempathy-gtk/gossip-contact-groups.dtd new file mode 100644 index 000000000..689220f0e --- /dev/null +++ b/trunk/libempathy-gtk/gossip-contact-groups.dtd @@ -0,0 +1,17 @@ +<!-- + DTD for Gossips contact groups. + by Martyn Russell <mr@gnome.org> +--> + +<!-- Root element. --> +<!ELEMENT contacts (account)> + +<!ELEMENT account (group)+> +<!ATTLIST account + name CDATA #REQUIRED> + +<!-- Groups in the roster. --> +<!ELEMENT group EMPTY> +<!ATTLIST group + name CDATA #REQUIRED + expanded CDATA #REQUIRED> diff --git a/trunk/libempathy-gtk/gossip-contact-groups.h b/trunk/libempathy-gtk/gossip-contact-groups.h new file mode 100644 index 000000000..88bbdc0cb --- /dev/null +++ b/trunk/libempathy-gtk/gossip-contact-groups.h @@ -0,0 +1,38 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005 Imendio AB + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + */ + +#ifndef __GOSSIP_CONTACT_GROUPS_H__ +#define __GOSSIP_CONTACT_GROUPS_H__ + +G_BEGIN_DECLS + +#include <glib.h> + +void gossip_contact_groups_get_all (void); + +gboolean gossip_contact_group_get_expanded (const gchar *group); +void gossip_contact_group_set_expanded (const gchar *group, + gboolean expanded); + +G_END_DECLS + +#endif /* __GOSSIP_CONTACT_GROUPS_H__ */ diff --git a/trunk/libempathy-gtk/gossip-contact-list-store.c b/trunk/libempathy-gtk/gossip-contact-list-store.c new file mode 100644 index 000000000..f0ff476dd --- /dev/null +++ b/trunk/libempathy-gtk/gossip-contact-list-store.c @@ -0,0 +1,1458 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include <string.h> + +#include <glib.h> +#include <gtk/gtk.h> + +#include <libempathy/gossip-debug.h> + +#include "gossip-contact-list-store.h" +#include "gossip-contact-groups.h" +#include "gossip-ui-utils.h" + +#define DEBUG_DOMAIN "ContactListStore" + +/* Active users are those which have recently changed state + * (e.g. online, offline or from normal to a busy state). + */ + +/* Time user is shown as active */ +#define ACTIVE_USER_SHOW_TIME 7000 + +/* Time after connecting which we wait before active users are enabled */ +#define ACTIVE_USER_WAIT_TO_ENABLE_TIME 5000 + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_CONTACT_LIST_STORE, GossipContactListStorePriv)) + +struct _GossipContactListStorePriv { + EmpathyContactList *list; + gboolean show_offline; + gboolean show_avatars; + gboolean is_compact; + gboolean show_active; + GossipContactListStoreSort sort_criterium; + + GossipContactGroupsFunc get_contact_groups; + gpointer get_contact_groups_data; +}; + +typedef struct { + GtkTreeIter iter; + const gchar *name; + gboolean found; +} FindGroup; + +typedef struct { + GossipContact *contact; + gboolean found; + GList *iters; +} FindContact; + +typedef struct { + GossipContactListStore *store; + GossipContact *contact; + gboolean remove; +} ShowActiveData; + +static void gossip_contact_list_store_class_init (GossipContactListStoreClass *klass); +static void gossip_contact_list_store_init (GossipContactListStore *list); +static void contact_list_store_finalize (GObject *object); +static void contact_list_store_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec); +static void contact_list_store_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec); +static void contact_list_store_setup (GossipContactListStore *store); +static void contact_list_store_contact_added_cb (EmpathyContactList *list_iface, + GossipContact *contact, + GossipContactListStore *store); +static void contact_list_store_add_contact (GossipContactListStore *store, + GossipContact *contact); +static void contact_list_store_contact_removed_cb (EmpathyContactList *list_iface, + GossipContact *contact, + GossipContactListStore *store); +static void contact_list_store_remove_contact (GossipContactListStore *store, + GossipContact *contact); +static void contact_list_store_contact_update (GossipContactListStore *store, + GossipContact *contact); +static void contact_list_store_contact_groups_updated_cb (GossipContact *contact, + GParamSpec *param, + GossipContactListStore *store); +static void contact_list_store_contact_updated_cb (GossipContact *contact, + GParamSpec *param, + GossipContactListStore *store); +static void contact_list_store_contact_set_active (GossipContactListStore *store, + GossipContact *contact, + gboolean active, + gboolean set_changed); +static ShowActiveData * contact_list_store_contact_active_new (GossipContactListStore *store, + GossipContact *contact, + gboolean remove); +static void contact_list_store_contact_active_free (ShowActiveData *data); +static gboolean contact_list_store_contact_active_cb (ShowActiveData *data); +static gboolean contact_list_store_get_group_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + FindGroup *fg); +static void contact_list_store_get_group (GossipContactListStore *store, + const gchar *name, + GtkTreeIter *iter_group_to_set, + GtkTreeIter *iter_separator_to_set, + gboolean *created); +static gint contact_list_store_state_sort_func (GtkTreeModel *model, + GtkTreeIter *iter_a, + GtkTreeIter *iter_b, + gpointer user_data); +static gint contact_list_store_name_sort_func (GtkTreeModel *model, + GtkTreeIter *iter_a, + GtkTreeIter *iter_b, + gpointer user_data); +static gboolean contact_list_store_find_contact_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + FindContact *fc); +static GList * contact_list_store_find_contact (GossipContactListStore *store, + GossipContact *contact); +static gboolean contact_list_store_update_list_mode_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GossipContactListStore *store); + +enum { + PROP_0, + PROP_SHOW_OFFLINE, + PROP_SHOW_AVATARS, + PROP_IS_COMPACT, + PROP_SORT_CRITERIUM +}; + +GType +gossip_contact_list_store_sort_get_type (void) +{ + static GType etype = 0; + + if (etype == 0) { + static const GEnumValue values[] = { + { GOSSIP_CONTACT_LIST_STORE_SORT_NAME, + "GOSSIP_CONTACT_LIST_STORE_SORT_NAME", + "name" }, + { GOSSIP_CONTACT_LIST_STORE_SORT_STATE, + "GOSSIP_CONTACT_LIST_STORE_SORT_STATE", + "state" }, + { 0, NULL, NULL } + }; + + etype = g_enum_register_static ("GossipContactListStoreSort", values); + } + + return etype; +} + +G_DEFINE_TYPE (GossipContactListStore, gossip_contact_list_store, GTK_TYPE_TREE_STORE); + +static void +gossip_contact_list_store_class_init (GossipContactListStoreClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = contact_list_store_finalize; + object_class->get_property = contact_list_store_get_property; + object_class->set_property = contact_list_store_set_property; + + g_object_class_install_property (object_class, + PROP_SHOW_OFFLINE, + g_param_spec_boolean ("show-offline", + "Show Offline", + "Whether contact list should display " + "offline contacts", + FALSE, + G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + PROP_SHOW_AVATARS, + g_param_spec_boolean ("show-avatars", + "Show Avatars", + "Whether contact list should display " + "avatars for contacts", + TRUE, + G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + PROP_IS_COMPACT, + g_param_spec_boolean ("is-compact", + "Is Compact", + "Whether the contact list is in compact mode or not", + FALSE, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_SORT_CRITERIUM, + g_param_spec_enum ("sort-criterium", + "Sort citerium", + "The sort criterium to use for sorting the contact list", + GOSSIP_TYPE_CONTACT_LIST_STORE_SORT, + GOSSIP_CONTACT_LIST_STORE_SORT_NAME, + G_PARAM_READWRITE)); + + g_type_class_add_private (object_class, sizeof (GossipContactListStorePriv)); +} + +static void +gossip_contact_list_store_init (GossipContactListStore *store) +{ + GossipContactListStorePriv *priv; + + priv = GET_PRIV (store); + + priv->is_compact = FALSE; + priv->show_active = TRUE; + priv->show_avatars = TRUE; +} + +static void +contact_list_store_finalize (GObject *object) +{ + GossipContactListStorePriv *priv; + + priv = GET_PRIV (object); + + /* FIXME: disconnect all signals on the list and contacts */ + + if (priv->list) { + g_object_unref (priv->list); + } + + G_OBJECT_CLASS (gossip_contact_list_store_parent_class)->finalize (object); +} + +static void +contact_list_store_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec) +{ + GossipContactListStorePriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_SHOW_OFFLINE: + g_value_set_boolean (value, priv->show_offline); + break; + case PROP_SHOW_AVATARS: + g_value_set_boolean (value, priv->show_avatars); + break; + case PROP_IS_COMPACT: + g_value_set_boolean (value, priv->is_compact); + break; + case PROP_SORT_CRITERIUM: + g_value_set_enum (value, priv->sort_criterium); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +static void +contact_list_store_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec) +{ + GossipContactListStorePriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_SHOW_OFFLINE: + gossip_contact_list_store_set_show_offline (GOSSIP_CONTACT_LIST_STORE (object), + g_value_get_boolean (value)); + break; + case PROP_SHOW_AVATARS: + gossip_contact_list_store_set_show_avatars (GOSSIP_CONTACT_LIST_STORE (object), + g_value_get_boolean (value)); + break; + case PROP_IS_COMPACT: + gossip_contact_list_store_set_is_compact (GOSSIP_CONTACT_LIST_STORE (object), + g_value_get_boolean (value)); + break; + case PROP_SORT_CRITERIUM: + gossip_contact_list_store_set_sort_criterium (GOSSIP_CONTACT_LIST_STORE (object), + g_value_get_enum (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +GossipContactListStore * +gossip_contact_list_store_new (EmpathyContactList *list_iface) +{ + GossipContactListStore *store; + GossipContactListStorePriv *priv; + GList *contacts, *l; + gboolean show_active; + + g_return_val_if_fail (EMPATHY_IS_CONTACT_LIST (list_iface), NULL); + + store = g_object_new (GOSSIP_TYPE_CONTACT_LIST_STORE, NULL); + priv = GET_PRIV (store); + + contact_list_store_setup (store); + priv->list = g_object_ref (list_iface); + + /* Signal connection. */ + g_signal_connect (priv->list, + "contact-added", + G_CALLBACK (contact_list_store_contact_added_cb), + store); + g_signal_connect (priv->list, + "contact-removed", + G_CALLBACK (contact_list_store_contact_removed_cb), + store); + + /* Add contacts already created. Do not highlight them. */ + show_active = priv->show_active; + priv->show_active = FALSE; + contacts = empathy_contact_list_get_contacts (priv->list); + for (l = contacts; l; l = l->next) { + GossipContact *contact; + + contact = l->data; + + contact_list_store_contact_added_cb (priv->list, contact, store); + + g_object_unref (contact); + } + g_list_free (contacts); + priv->show_active = show_active; + + return store; +} + +EmpathyContactList * +gossip_contact_list_store_get_list_iface (GossipContactListStore *store) +{ + GossipContactListStorePriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT_LIST_STORE (store), FALSE); + + priv = GET_PRIV (store); + + return priv->list; +} + +gboolean +gossip_contact_list_store_get_show_offline (GossipContactListStore *store) +{ + GossipContactListStorePriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT_LIST_STORE (store), FALSE); + + priv = GET_PRIV (store); + + return priv->show_offline; +} + +void +gossip_contact_list_store_set_show_offline (GossipContactListStore *store, + gboolean show_offline) +{ + GossipContactListStorePriv *priv; + GList *contacts, *l; + gboolean show_active; + + g_return_if_fail (GOSSIP_IS_CONTACT_LIST_STORE (store)); + + priv = GET_PRIV (store); + + priv->show_offline = show_offline; + show_active = priv->show_active; + + /* Disable temporarily. */ + priv->show_active = FALSE; + + contacts = empathy_contact_list_get_contacts (priv->list); + for (l = contacts; l; l = l->next) { + GossipContact *contact; + + contact = GOSSIP_CONTACT (l->data); + + contact_list_store_contact_update (store, contact); + + g_object_unref (contact); + } + g_list_free (contacts); + + /* Restore to original setting. */ + priv->show_active = show_active; +} + +gboolean +gossip_contact_list_store_get_show_avatars (GossipContactListStore *store) +{ + GossipContactListStorePriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT_LIST_STORE (store), TRUE); + + priv = GET_PRIV (store); + + return priv->show_avatars; +} + +void +gossip_contact_list_store_set_show_avatars (GossipContactListStore *store, + gboolean show_avatars) +{ + GossipContactListStorePriv *priv; + GtkTreeModel *model; + + g_return_if_fail (GOSSIP_IS_CONTACT_LIST_STORE (store)); + + priv = GET_PRIV (store); + + priv->show_avatars = show_avatars; + + model = GTK_TREE_MODEL (store); + + gtk_tree_model_foreach (model, + (GtkTreeModelForeachFunc) + contact_list_store_update_list_mode_foreach, + store); +} + +gboolean +gossip_contact_list_store_get_is_compact (GossipContactListStore *store) +{ + GossipContactListStorePriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT_LIST_STORE (store), TRUE); + + priv = GET_PRIV (store); + + return priv->is_compact; +} + +void +gossip_contact_list_store_set_is_compact (GossipContactListStore *store, + gboolean is_compact) +{ + GossipContactListStorePriv *priv; + GtkTreeModel *model; + + g_return_if_fail (GOSSIP_IS_CONTACT_LIST_STORE (store)); + + priv = GET_PRIV (store); + + priv->is_compact = is_compact; + + model = GTK_TREE_MODEL (store); + + gtk_tree_model_foreach (model, + (GtkTreeModelForeachFunc) + contact_list_store_update_list_mode_foreach, + store); +} + +GossipContactListStoreSort +gossip_contact_list_store_get_sort_criterium (GossipContactListStore *store) +{ + GossipContactListStorePriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT_LIST_STORE (store), 0); + + priv = GET_PRIV (store); + + return priv->sort_criterium; +} + +void +gossip_contact_list_store_set_sort_criterium (GossipContactListStore *store, + GossipContactListStoreSort sort_criterium) +{ + GossipContactListStorePriv *priv; + + g_return_if_fail (GOSSIP_IS_CONTACT_LIST_STORE (store)); + + priv = GET_PRIV (store); + + priv->sort_criterium = sort_criterium; + + switch (sort_criterium) { + case GOSSIP_CONTACT_LIST_STORE_SORT_STATE: + gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), + COL_STATUS, + GTK_SORT_ASCENDING); + break; + + case GOSSIP_CONTACT_LIST_STORE_SORT_NAME: + gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), + COL_NAME, + GTK_SORT_ASCENDING); + break; + } +} + +gboolean +gossip_contact_list_store_row_separator_func (GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data) +{ + gboolean is_separator = FALSE; + + g_return_val_if_fail (GTK_IS_TREE_MODEL (model), FALSE); + + gtk_tree_model_get (model, iter, + COL_IS_SEPARATOR, &is_separator, + -1); + + return is_separator; +} + +gchar * +gossip_contact_list_store_get_parent_group (GtkTreeModel *model, + GtkTreePath *path, + gboolean *path_is_group) +{ + GtkTreeIter parent_iter, iter; + gchar *name = NULL; + gboolean is_group; + + g_return_val_if_fail (GTK_IS_TREE_MODEL (model), NULL); + + if (path_is_group) { + *path_is_group = FALSE; + } + + if (!gtk_tree_model_get_iter (model, &iter, path)) { + return NULL; + } + + gtk_tree_model_get (model, &iter, + COL_IS_GROUP, &is_group, + COL_NAME, &name, + -1); + + if (!is_group) { + g_free (name); + name = NULL; + + if (!gtk_tree_model_iter_parent (model, &parent_iter, &iter)) { + return NULL; + } + + iter = parent_iter; + + gtk_tree_model_get (model, &iter, + COL_IS_GROUP, &is_group, + COL_NAME, &name, + -1); + if (!is_group) { + g_free (name); + return NULL; + } + } + + if (path_is_group) { + *path_is_group = TRUE; + } + + return name; +} + +gboolean +gossip_contact_list_store_search_equal_func (GtkTreeModel *model, + gint column, + const gchar *key, + GtkTreeIter *iter, + gpointer search_data) +{ + gchar *name, *name_folded; + gchar *key_folded; + gboolean ret; + + g_return_val_if_fail (GTK_IS_TREE_MODEL (model), FALSE); + + if (!key) { + return FALSE; + } + + gtk_tree_model_get (model, iter, COL_NAME, &name, -1); + + if (!name) { + return FALSE; + } + + name_folded = g_utf8_casefold (name, -1); + key_folded = g_utf8_casefold (key, -1); + + if (name_folded && key_folded && + strstr (name_folded, key_folded)) { + ret = FALSE; + } else { + ret = TRUE; + } + + g_free (name); + g_free (name_folded); + g_free (key_folded); + + return ret; +} + +void +gossip_contact_list_store_set_contact_groups_func (GossipContactListStore *store, + GossipContactGroupsFunc func, + gpointer user_data) +{ + GossipContactListStorePriv *priv; + GList *contacts, *l; + + g_return_if_fail (GOSSIP_IS_CONTACT_LIST_STORE (store)); + + priv = GET_PRIV (store); + + if (func) { + priv->get_contact_groups = func; + priv->get_contact_groups_data = user_data; + } else { + priv->get_contact_groups = NULL; + priv->get_contact_groups_data = NULL; + } + + /* If we set a custom function to get contacts groups we have to + * disconnect our default notify::groups signal and wait for the user + * to call himself gossip_contact_list_store_update_contact_groups () + * when needed. If func is NULL we come back to default. + */ + contacts = empathy_contact_list_get_contacts (priv->list); + for (l = contacts; l; l = l->next) { + GossipContact *contact; + + contact = l->data; + + if (func) { + g_signal_handlers_disconnect_by_func (contact, + G_CALLBACK (contact_list_store_contact_groups_updated_cb), + store); + } else { + g_signal_connect (contact, "notify::groups", + G_CALLBACK (contact_list_store_contact_groups_updated_cb), + store); + } + + gossip_contact_list_store_update_contact_groups (store, contact); + + g_object_unref (contact); + } + g_list_free (contacts); +} + +void +gossip_contact_list_store_update_contact_groups (GossipContactListStore *store, + GossipContact *contact) +{ + gossip_debug (DEBUG_DOMAIN, "Contact:'%s' updating groups", + gossip_contact_get_name (contact)); + + /* We do this to make sure the groups are correct, if not, we + * would have to check the groups already set up for each + * contact and then see what has been updated. + */ + contact_list_store_remove_contact (store, contact); + contact_list_store_add_contact (store, contact); +} + +static void +contact_list_store_setup (GossipContactListStore *store) +{ + GossipContactListStorePriv *priv; + GType types[] = {G_TYPE_STRING, /* Status icon-name */ + GDK_TYPE_PIXBUF, /* Avatar pixbuf */ + G_TYPE_BOOLEAN, /* Avatar pixbuf visible */ + G_TYPE_STRING, /* Name */ + G_TYPE_STRING, /* Status string */ + G_TYPE_BOOLEAN, /* Show status */ + GOSSIP_TYPE_CONTACT, /* Contact type */ + G_TYPE_BOOLEAN, /* Is group */ + G_TYPE_BOOLEAN, /* Is active */ + G_TYPE_BOOLEAN, /* Is online */ + G_TYPE_BOOLEAN}; /* Is separator */ + + priv = GET_PRIV (store); + + gtk_tree_store_set_column_types (GTK_TREE_STORE (store), COL_COUNT, types); + + /* Set up sorting */ + gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (store), + COL_NAME, + contact_list_store_name_sort_func, + store, NULL); + gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (store), + COL_STATUS, + contact_list_store_state_sort_func, + store, NULL); + + priv->sort_criterium = GOSSIP_CONTACT_LIST_STORE_SORT_NAME; + gossip_contact_list_store_set_sort_criterium (store, priv->sort_criterium); +} + +static void +contact_list_store_contact_added_cb (EmpathyContactList *list_iface, + GossipContact *contact, + GossipContactListStore *store) +{ + GossipContactListStorePriv *priv; + + priv = GET_PRIV (store); + + gossip_debug (DEBUG_DOMAIN, + "Contact:'%s' added", + gossip_contact_get_name (contact)); + + if (!priv->get_contact_groups) { + g_signal_connect (contact, "notify::groups", + G_CALLBACK (contact_list_store_contact_groups_updated_cb), + store); + } + g_signal_connect (contact, "notify::presence", + G_CALLBACK (contact_list_store_contact_updated_cb), + store); + g_signal_connect (contact, "notify::name", + G_CALLBACK (contact_list_store_contact_updated_cb), + store); + g_signal_connect (contact, "notify::avatar", + G_CALLBACK (contact_list_store_contact_updated_cb), + store); + g_signal_connect (contact, "notify::type", + G_CALLBACK (contact_list_store_contact_updated_cb), + store); + + contact_list_store_add_contact (store, contact); +} + +static void +contact_list_store_add_contact (GossipContactListStore *store, + GossipContact *contact) +{ + GossipContactListStorePriv *priv; + GtkTreeIter iter; + GList *groups, *l; + + priv = GET_PRIV (store); + + if (!priv->show_offline && !gossip_contact_is_online (contact)) { + return; + } + + /* If no groups just add it at the top level. */ + if (priv->get_contact_groups) { + groups = priv->get_contact_groups (contact, + priv->get_contact_groups_data); + } else { + groups = gossip_contact_get_groups (contact); + } + + if (!groups) { + gtk_tree_store_append (GTK_TREE_STORE (store), &iter, NULL); + gtk_tree_store_set (GTK_TREE_STORE (store), &iter, + COL_NAME, gossip_contact_get_name (contact), + COL_CONTACT, contact, + COL_IS_GROUP, FALSE, + COL_IS_SEPARATOR, FALSE, + -1); + } + + /* Else add to each group. */ + for (l = groups; l; l = l->next) { + GtkTreeIter iter_group; + const gchar *name; + + name = l->data; + if (!name) { + continue; + } + + contact_list_store_get_group (store, name, &iter_group, NULL, NULL); + + gtk_tree_store_insert_after (GTK_TREE_STORE (store), &iter, + &iter_group, NULL); + gtk_tree_store_set (GTK_TREE_STORE (store), &iter, + COL_NAME, gossip_contact_get_name (contact), + COL_CONTACT, contact, + COL_IS_GROUP, FALSE, + COL_IS_SEPARATOR, FALSE, + -1); + } + + contact_list_store_contact_update (store, contact); +} + +static void +contact_list_store_contact_removed_cb (EmpathyContactList *list_iface, + GossipContact *contact, + GossipContactListStore *store) +{ + gossip_debug (DEBUG_DOMAIN, "Contact:'%s' removed", + gossip_contact_get_name (contact)); + + /* Disconnect signals */ + g_signal_handlers_disconnect_by_func (contact, + G_CALLBACK (contact_list_store_contact_groups_updated_cb), + store); + g_signal_handlers_disconnect_by_func (contact, + G_CALLBACK (contact_list_store_contact_updated_cb), + store); + + contact_list_store_remove_contact (store, contact); +} + +static void +contact_list_store_remove_contact (GossipContactListStore *store, + GossipContact *contact) +{ + GossipContactListStorePriv *priv; + GtkTreeModel *model; + GList *iters, *l; + + priv = GET_PRIV (store); + + iters = contact_list_store_find_contact (store, contact); + if (!iters) { + return; + } + + /* Clean up model */ + model = GTK_TREE_MODEL (store); + + for (l = iters; l; l = l->next) { + GtkTreeIter parent; + + /* NOTE: it is only <= 2 here because we have + * separators after the group name, otherwise it + * should be 1. + */ + if (gtk_tree_model_iter_parent (model, &parent, l->data) && + gtk_tree_model_iter_n_children (model, &parent) <= 2) { + gtk_tree_store_remove (GTK_TREE_STORE (store), &parent); + } else { + gtk_tree_store_remove (GTK_TREE_STORE (store), l->data); + } + } + + g_list_foreach (iters, (GFunc) gtk_tree_iter_free, NULL); + g_list_free (iters); +} + +static void +contact_list_store_contact_update (GossipContactListStore *store, + GossipContact *contact) +{ + GossipContactListStorePriv *priv; + ShowActiveData *data; + GtkTreeModel *model; + GList *iters, *l; + gboolean in_list; + gboolean should_be_in_list; + gboolean was_online = TRUE; + gboolean now_online = FALSE; + gboolean set_model = FALSE; + gboolean do_remove = FALSE; + gboolean do_set_active = FALSE; + gboolean do_set_refresh = FALSE; + GdkPixbuf *pixbuf_avatar; + + priv = GET_PRIV (store); + + model = GTK_TREE_MODEL (store); + + iters = contact_list_store_find_contact (store, contact); + if (!iters) { + in_list = FALSE; + } else { + in_list = TRUE; + } + + /* Get online state now. */ + now_online = gossip_contact_is_online (contact); + + if (priv->show_offline || now_online) { + should_be_in_list = TRUE; + } else { + should_be_in_list = FALSE; + } + + if (!in_list && !should_be_in_list) { + /* Nothing to do. */ + gossip_debug (DEBUG_DOMAIN, + "Contact:'%s' in list:NO, should be:NO", + gossip_contact_get_name (contact)); + + g_list_foreach (iters, (GFunc) gtk_tree_iter_free, NULL); + g_list_free (iters); + return; + } + else if (in_list && !should_be_in_list) { + gossip_debug (DEBUG_DOMAIN, + "Contact:'%s' in list:YES, should be:NO", + gossip_contact_get_name (contact)); + + if (priv->show_active) { + do_remove = TRUE; + do_set_active = TRUE; + do_set_refresh = TRUE; + + set_model = TRUE; + gossip_debug (DEBUG_DOMAIN, "Remove item (after timeout)"); + } else { + gossip_debug (DEBUG_DOMAIN, "Remove item (now)!"); + contact_list_store_remove_contact (store, contact); + } + } + else if (!in_list && should_be_in_list) { + gossip_debug (DEBUG_DOMAIN, + "Contact:'%s' in list:NO, should be:YES", + gossip_contact_get_name (contact)); + + contact_list_store_add_contact (store, contact); + + if (priv->show_active) { + do_set_active = TRUE; + + gossip_debug (DEBUG_DOMAIN, "Set active (contact added)"); + } + } else { + gossip_debug (DEBUG_DOMAIN, + "Contact:'%s' in list:YES, should be:YES", + gossip_contact_get_name (contact)); + + /* Get online state before. */ + if (iters && g_list_length (iters) > 0) { + gtk_tree_model_get (model, iters->data, + COL_IS_ONLINE, &was_online, + -1); + } + + /* Is this really an update or an online/offline. */ + if (priv->show_active) { + if (was_online != now_online) { + do_set_active = TRUE; + do_set_refresh = TRUE; + + gossip_debug (DEBUG_DOMAIN, "Set active (contact updated %s)", + was_online ? "online -> offline" : + "offline -> online"); + } else { + /* Was TRUE for presence updates. */ + /* do_set_active = FALSE; */ + do_set_refresh = TRUE; + + gossip_debug (DEBUG_DOMAIN, "Set active (contact updated)"); + } + } + + set_model = TRUE; + } + + pixbuf_avatar = gossip_pixbuf_avatar_from_contact_scaled (contact, 32, 32); + for (l = iters; l && set_model; l = l->next) { + gtk_tree_store_set (GTK_TREE_STORE (store), l->data, + COL_ICON_STATUS, gossip_icon_name_for_contact (contact), + COL_PIXBUF_AVATAR, pixbuf_avatar, + COL_PIXBUF_AVATAR_VISIBLE, priv->show_avatars, + COL_NAME, gossip_contact_get_name (contact), + COL_STATUS, gossip_contact_get_status (contact), + COL_STATUS_VISIBLE, !priv->is_compact, + COL_IS_GROUP, FALSE, + COL_IS_ONLINE, now_online, + COL_IS_SEPARATOR, FALSE, + -1); + } + + if (pixbuf_avatar) { + g_object_unref (pixbuf_avatar); + } + + if (priv->show_active && do_set_active) { + contact_list_store_contact_set_active (store, contact, do_set_active, do_set_refresh); + + if (do_set_active) { + data = contact_list_store_contact_active_new (store, contact, do_remove); + g_timeout_add (ACTIVE_USER_SHOW_TIME, + (GSourceFunc) contact_list_store_contact_active_cb, + data); + } + } + + /* FIXME: when someone goes online then offline quickly, the + * first timeout sets the user to be inactive and the second + * timeout removes the user from the contact list, really we + * should remove the first timeout. + */ + g_list_foreach (iters, (GFunc) gtk_tree_iter_free, NULL); + g_list_free (iters); +} + +static void +contact_list_store_contact_groups_updated_cb (GossipContact *contact, + GParamSpec *param, + GossipContactListStore *store) +{ + gossip_contact_list_store_update_contact_groups (store, contact); +} + +static void +contact_list_store_contact_updated_cb (GossipContact *contact, + GParamSpec *param, + GossipContactListStore *store) +{ + gossip_debug (DEBUG_DOMAIN, + "Contact:'%s' updated, checking roster is in sync...", + gossip_contact_get_name (contact)); + + contact_list_store_contact_update (store, contact); +} + +static void +contact_list_store_contact_set_active (GossipContactListStore *store, + GossipContact *contact, + gboolean active, + gboolean set_changed) +{ + GossipContactListStorePriv *priv; + GtkTreeModel *model; + GList *iters, *l; + + priv = GET_PRIV (store); + model = GTK_TREE_MODEL (store); + + iters = contact_list_store_find_contact (store, contact); + for (l = iters; l; l = l->next) { + GtkTreePath *path; + + gtk_tree_store_set (GTK_TREE_STORE (store), l->data, + COL_IS_ACTIVE, active, + -1); + + gossip_debug (DEBUG_DOMAIN, "Set item %s", active ? "active" : "inactive"); + + if (set_changed) { + path = gtk_tree_model_get_path (model, l->data); + gtk_tree_model_row_changed (model, path, l->data); + gtk_tree_path_free (path); + } + } + + g_list_foreach (iters, (GFunc) gtk_tree_iter_free, NULL); + g_list_free (iters); + +} + +static ShowActiveData * +contact_list_store_contact_active_new (GossipContactListStore *store, + GossipContact *contact, + gboolean remove) +{ + ShowActiveData *data; + + gossip_debug (DEBUG_DOMAIN, + "Contact:'%s' now active, and %s be removed", + gossip_contact_get_name (contact), + remove ? "WILL" : "WILL NOT"); + + data = g_slice_new0 (ShowActiveData); + + data->store = g_object_ref (store); + data->contact = g_object_ref (contact); + data->remove = remove; + + return data; +} + +static void +contact_list_store_contact_active_free (ShowActiveData *data) +{ + g_object_unref (data->contact); + g_object_unref (data->store); + + g_slice_free (ShowActiveData, data); +} + +static gboolean +contact_list_store_contact_active_cb (ShowActiveData *data) +{ + GossipContactListStorePriv *priv; + + priv = GET_PRIV (data->store); + + if (data->remove && + !priv->show_offline && + !gossip_contact_is_online (data->contact)) { + gossip_debug (DEBUG_DOMAIN, + "Contact:'%s' active timeout, removing item", + gossip_contact_get_name (data->contact)); + contact_list_store_remove_contact (data->store, data->contact); + } + + gossip_debug (DEBUG_DOMAIN, + "Contact:'%s' no longer active", + gossip_contact_get_name (data->contact)); + + contact_list_store_contact_set_active (data->store, + data->contact, + FALSE, + TRUE); + + contact_list_store_contact_active_free (data); + + return FALSE; +} + +static gboolean +contact_list_store_get_group_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + FindGroup *fg) +{ + gchar *str; + gboolean is_group; + + /* Groups are only at the top level. */ + if (gtk_tree_path_get_depth (path) != 1) { + return FALSE; + } + + gtk_tree_model_get (model, iter, + COL_NAME, &str, + COL_IS_GROUP, &is_group, + -1); + + if (is_group && strcmp (str, fg->name) == 0) { + fg->found = TRUE; + fg->iter = *iter; + } + + g_free (str); + + return fg->found; +} + +static void +contact_list_store_get_group (GossipContactListStore *store, + const gchar *name, + GtkTreeIter *iter_group_to_set, + GtkTreeIter *iter_separator_to_set, + gboolean *created) +{ + GossipContactListStorePriv *priv; + GtkTreeModel *model; + GtkTreeIter iter_group; + GtkTreeIter iter_separator; + FindGroup fg; + + priv = GET_PRIV (store); + + memset (&fg, 0, sizeof (fg)); + + fg.name = name; + + model = GTK_TREE_MODEL (store); + gtk_tree_model_foreach (model, + (GtkTreeModelForeachFunc) contact_list_store_get_group_foreach, + &fg); + + if (!fg.found) { + if (created) { + *created = TRUE; + } + + gtk_tree_store_append (GTK_TREE_STORE (store), &iter_group, NULL); + gtk_tree_store_set (GTK_TREE_STORE (store), &iter_group, + COL_ICON_STATUS, NULL, + COL_NAME, name, + COL_IS_GROUP, TRUE, + COL_IS_ACTIVE, FALSE, + COL_IS_SEPARATOR, FALSE, + -1); + + if (iter_group_to_set) { + *iter_group_to_set = iter_group; + } + + gtk_tree_store_append (GTK_TREE_STORE (store), + &iter_separator, + &iter_group); + gtk_tree_store_set (GTK_TREE_STORE (store), &iter_separator, + COL_IS_SEPARATOR, TRUE, + -1); + + if (iter_separator_to_set) { + *iter_separator_to_set = iter_separator; + } + } else { + if (created) { + *created = FALSE; + } + + if (iter_group_to_set) { + *iter_group_to_set = fg.iter; + } + + iter_separator = fg.iter; + + if (gtk_tree_model_iter_next (model, &iter_separator)) { + gboolean is_separator; + + gtk_tree_model_get (model, &iter_separator, + COL_IS_SEPARATOR, &is_separator, + -1); + + if (is_separator && iter_separator_to_set) { + *iter_separator_to_set = iter_separator; + } + } + } +} + +static gint +contact_list_store_state_sort_func (GtkTreeModel *model, + GtkTreeIter *iter_a, + GtkTreeIter *iter_b, + gpointer user_data) +{ + gint ret_val = 0; + gchar *name_a, *name_b; + gboolean is_separator_a, is_separator_b; + GossipContact *contact_a, *contact_b; + GossipPresence *presence_a, *presence_b; + McPresence state_a, state_b; + + gtk_tree_model_get (model, iter_a, + COL_NAME, &name_a, + COL_CONTACT, &contact_a, + COL_IS_SEPARATOR, &is_separator_a, + -1); + gtk_tree_model_get (model, iter_b, + COL_NAME, &name_b, + COL_CONTACT, &contact_b, + COL_IS_SEPARATOR, &is_separator_b, + -1); + + /* Separator or group? */ + if (is_separator_a || is_separator_b) { + if (is_separator_a) { + ret_val = -1; + } else if (is_separator_b) { + ret_val = 1; + } + } else if (!contact_a && contact_b) { + ret_val = 1; + } else if (contact_a && !contact_b) { + ret_val = -1; + } else if (!contact_a && !contact_b) { + /* Handle groups */ + ret_val = g_utf8_collate (name_a, name_b); + } + + if (ret_val) { + goto free_and_out; + } + + /* If we managed to get this far, we can start looking at + * the presences. + */ + presence_a = gossip_contact_get_presence (GOSSIP_CONTACT (contact_a)); + presence_b = gossip_contact_get_presence (GOSSIP_CONTACT (contact_b)); + + if (!presence_a && presence_b) { + ret_val = 1; + } else if (presence_a && !presence_b) { + ret_val = -1; + } else if (!presence_a && !presence_b) { + /* Both offline, sort by name */ + ret_val = g_utf8_collate (name_a, name_b); + } else { + state_a = gossip_presence_get_state (presence_a); + state_b = gossip_presence_get_state (presence_b); + + if (state_a < state_b) { + ret_val = -1; + } else if (state_a > state_b) { + ret_val = 1; + } else { + /* Fallback: compare by name */ + ret_val = g_utf8_collate (name_a, name_b); + } + } + +free_and_out: + g_free (name_a); + g_free (name_b); + + if (contact_a) { + g_object_unref (contact_a); + } + + if (contact_b) { + g_object_unref (contact_b); + } + + return ret_val; +} + +static gint +contact_list_store_name_sort_func (GtkTreeModel *model, + GtkTreeIter *iter_a, + GtkTreeIter *iter_b, + gpointer user_data) +{ + gchar *name_a, *name_b; + GossipContact *contact_a, *contact_b; + gboolean is_separator_a, is_separator_b; + gint ret_val; + + gtk_tree_model_get (model, iter_a, + COL_NAME, &name_a, + COL_CONTACT, &contact_a, + COL_IS_SEPARATOR, &is_separator_a, + -1); + gtk_tree_model_get (model, iter_b, + COL_NAME, &name_b, + COL_CONTACT, &contact_b, + COL_IS_SEPARATOR, &is_separator_b, + -1); + + /* If contact is NULL it means it's a group. */ + + if (is_separator_a || is_separator_b) { + if (is_separator_a) { + ret_val = -1; + } else if (is_separator_b) { + ret_val = 1; + } + } else if (!contact_a && contact_b) { + ret_val = 1; + } else if (contact_a && !contact_b) { + ret_val = -1; + } else { + ret_val = g_utf8_collate (name_a, name_b); + } + + g_free (name_a); + g_free (name_b); + + if (contact_a) { + g_object_unref (contact_a); + } + + if (contact_b) { + g_object_unref (contact_b); + } + + return ret_val; +} + +static gboolean +contact_list_store_find_contact_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + FindContact *fc) +{ + GossipContact *contact; + + gtk_tree_model_get (model, iter, + COL_CONTACT, &contact, + -1); + + if (!contact) { + return FALSE; + } + + if (gossip_contact_equal (contact, fc->contact)) { + fc->found = TRUE; + fc->iters = g_list_append (fc->iters, gtk_tree_iter_copy (iter)); + } + g_object_unref (contact); + + return FALSE; +} + +static GList * +contact_list_store_find_contact (GossipContactListStore *store, + GossipContact *contact) +{ + GossipContactListStorePriv *priv; + GtkTreeModel *model; + GList *l = NULL; + FindContact fc; + + priv = GET_PRIV (store); + + memset (&fc, 0, sizeof (fc)); + + fc.contact = contact; + + model = GTK_TREE_MODEL (store); + gtk_tree_model_foreach (model, + (GtkTreeModelForeachFunc) contact_list_store_find_contact_foreach, + &fc); + + if (fc.found) { + l = fc.iters; + } + + return l; +} + +static gboolean +contact_list_store_update_list_mode_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GossipContactListStore *store) +{ + GossipContactListStorePriv *priv; + gboolean show_avatar = FALSE; + + priv = GET_PRIV (store); + + if (priv->show_avatars && !priv->is_compact) { + show_avatar = TRUE; + } + + gtk_tree_store_set (GTK_TREE_STORE (store), iter, + COL_PIXBUF_AVATAR_VISIBLE, show_avatar, + COL_STATUS_VISIBLE, !priv->is_compact, + -1); + + return FALSE; +} + diff --git a/trunk/libempathy-gtk/gossip-contact-list-store.h b/trunk/libempathy-gtk/gossip-contact-list-store.h new file mode 100644 index 000000000..b2131bcab --- /dev/null +++ b/trunk/libempathy-gtk/gossip-contact-list-store.h @@ -0,0 +1,122 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_CONTACT_LIST_STORE_H__ +#define __GOSSIP_CONTACT_LIST_STORE_H__ + +#include <gtk/gtktreestore.h> + +#include <libempathy/empathy-contact-list.h> +#include <libempathy/gossip-contact.h> + +G_BEGIN_DECLS + +/* + * GossipContactListStoreSort + */ +#define GOSSIP_TYPE_CONTACT_LIST_STORE_SORT (gossip_contact_list_store_sort_get_type ()) + +typedef enum { + GOSSIP_CONTACT_LIST_STORE_SORT_STATE, + GOSSIP_CONTACT_LIST_STORE_SORT_NAME +} GossipContactListStoreSort; + +GType gossip_contact_list_store_sort_get_type (void) G_GNUC_CONST; + +/* + * GossipContactListStore + */ +#define GOSSIP_TYPE_CONTACT_LIST_STORE (gossip_contact_list_store_get_type ()) +#define GOSSIP_CONTACT_LIST_STORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_CONTACT_LIST_STORE, GossipContactListStore)) +#define GOSSIP_CONTACT_LIST_STORE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GOSSIP_TYPE_CONTACT_LIST_STORE, GossipContactListStoreClass)) +#define GOSSIP_IS_CONTACT_LIST_STORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_CONTACT_LIST_STORE)) +#define GOSSIP_IS_CONTACT_LIST_STORE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_CONTACT_LIST_STORE)) +#define GOSSIP_CONTACT_LIST_STORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_CONTACT_LIST_STORE, GossipContactListStoreClass)) + +typedef struct _GossipContactListStore GossipContactListStore; +typedef struct _GossipContactListStoreClass GossipContactListStoreClass; +typedef struct _GossipContactListStorePriv GossipContactListStorePriv; + +enum { + COL_ICON_STATUS, + COL_PIXBUF_AVATAR, + COL_PIXBUF_AVATAR_VISIBLE, + COL_NAME, + COL_STATUS, + COL_STATUS_VISIBLE, + COL_CONTACT, + COL_IS_GROUP, + COL_IS_ACTIVE, + COL_IS_ONLINE, + COL_IS_SEPARATOR, + COL_COUNT +} GossipContactListStoreCol; + +struct _GossipContactListStore { + GtkTreeStore parent; +}; + +struct _GossipContactListStoreClass { + GtkTreeStoreClass parent_class; +}; +typedef GList * (*GossipContactGroupsFunc) (GossipContact *contact, + gpointer user_data); + +GType gossip_contact_list_store_get_type (void) G_GNUC_CONST; +GossipContactListStore * gossip_contact_list_store_new (EmpathyContactList *list_iface); +EmpathyContactList * gossip_contact_list_store_get_list_iface (GossipContactListStore *store); +gboolean gossip_contact_list_store_get_show_offline (GossipContactListStore *store); +void gossip_contact_list_store_set_show_offline (GossipContactListStore *store, + gboolean show_offline); +gboolean gossip_contact_list_store_get_show_avatars (GossipContactListStore *store); +void gossip_contact_list_store_set_show_avatars (GossipContactListStore *store, + gboolean show_avatars); +gboolean gossip_contact_list_store_get_is_compact (GossipContactListStore *store); +void gossip_contact_list_store_set_is_compact (GossipContactListStore *store, + gboolean is_compact); +GossipContactListStoreSort gossip_contact_list_store_get_sort_criterium (GossipContactListStore *store); +void gossip_contact_list_store_set_sort_criterium (GossipContactListStore *store, + GossipContactListStoreSort sort_criterium); +gboolean gossip_contact_list_store_row_separator_func (GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data); +gchar * gossip_contact_list_store_get_parent_group (GtkTreeModel *model, + GtkTreePath *path, + gboolean *path_is_group); +gboolean gossip_contact_list_store_search_equal_func (GtkTreeModel *model, + gint column, + const gchar *key, + GtkTreeIter *iter, + gpointer search_data); +void gossip_contact_list_store_set_contact_groups_func (GossipContactListStore*store, + GossipContactGroupsFunc func, + gpointer user_data); +void gossip_contact_list_store_update_contact_groups (GossipContactListStore *store, + GossipContact *contact); + +G_END_DECLS + +#endif /* __GOSSIP_CONTACT_LIST_STORE_H__ */ + diff --git a/trunk/libempathy-gtk/gossip-contact-list-view.c b/trunk/libempathy-gtk/gossip-contact-list-view.c new file mode 100644 index 000000000..3cad7821d --- /dev/null +++ b/trunk/libempathy-gtk/gossip-contact-list-view.c @@ -0,0 +1,1505 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include <string.h> + +#include <glib/gi18n.h> +#include <gtk/gtk.h> +#include <glade/glade.h> + +#include <libmissioncontrol/mc-account.h> +#include <libmissioncontrol/mission-control.h> + +#include <libempathy/empathy-contact-manager.h> +#include <libempathy/empathy-contact-list.h> +#include <libempathy/gossip-debug.h> +#include <libempathy/gossip-utils.h> +#include <libempathy/empathy-marshal.h> + +#include "gossip-contact-list-view.h" +#include "gossip-contact-list-store.h" +#include "empathy-images.h" +#include "gossip-contact-groups.h" +#include "gossip-cell-renderer-expander.h" +#include "gossip-cell-renderer-text.h" +#include "gossip-ui-utils.h" +//#include "gossip-chat-invite.h" +//#include "gossip-contact-info-dialog.h" +//#include "gossip-edit-contact-dialog.h" +//#include "gossip-ft-window.h" +//#include "gossip-log-window.h" + +#define DEBUG_DOMAIN "ContactListView" + +/* Flashing delay for icons (milliseconds). */ +#define FLASH_TIMEOUT 500 + +/* Active users are those which have recently changed state + * (e.g. online, offline or from normal to a busy state). + */ + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_CONTACT_LIST_VIEW, GossipContactListViewPriv)) + +struct _GossipContactListViewPriv { + GossipContactListStore *store; + GtkUIManager *ui; + GtkTreeRowReference *drag_row; + GtkTreeModel *filter; + gchar *filter_text; + + GossipContactListViewDragReceivedFunc drag_received; + gpointer drag_received_data; +}; + +typedef struct { + GossipContactListView *view; + GtkTreePath *path; + guint timeout_id; +} DragMotionData; + +typedef struct { + GossipContactListView *view; + GossipContact *contact; + gboolean remove; +} ShowActiveData; + +static void gossip_contact_list_view_class_init (GossipContactListViewClass *klass); +static void gossip_contact_list_view_init (GossipContactListView *list); +static void contact_list_view_finalize (GObject *object); +static void contact_list_view_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec); +static void contact_list_view_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec); +static void contact_list_view_setup (GossipContactListView *view); +static void contact_list_view_row_has_child_toggled_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GossipContactListView *view); +static void contact_list_view_contact_received (GossipContactListView *view, + GossipContact *contact, + GdkDragAction action, + const gchar *old_group, + const gchar *new_group); +static void contact_list_view_drag_data_received (GtkWidget *widget, + GdkDragContext *context, + gint x, + gint y, + GtkSelectionData *selection, + guint info, + guint time, + gpointer user_data); +static gboolean contact_list_view_drag_motion (GtkWidget *widget, + GdkDragContext *context, + gint x, + gint y, + guint time, + gpointer data); +static gboolean contact_list_view_drag_motion_cb (DragMotionData *data); +static void contact_list_view_drag_begin (GtkWidget *widget, + GdkDragContext *context, + gpointer user_data); +static void contact_list_view_drag_data_get (GtkWidget *widget, + GdkDragContext *context, + GtkSelectionData *selection, + guint info, + guint time, + gpointer user_data); +static void contact_list_view_drag_end (GtkWidget *widget, + GdkDragContext *context, + gpointer user_data); +static void contact_list_view_cell_set_background (GossipContactListView *view, + GtkCellRenderer *cell, + gboolean is_group, + gboolean is_active); +static void contact_list_view_pixbuf_cell_data_func (GtkTreeViewColumn *tree_column, + GtkCellRenderer *cell, + GtkTreeModel *model, + GtkTreeIter *iter, + GossipContactListView *view); +static void contact_list_view_avatar_cell_data_func (GtkTreeViewColumn *tree_column, + GtkCellRenderer *cell, + GtkTreeModel *model, + GtkTreeIter *iter, + GossipContactListView *view); +static void contact_list_view_text_cell_data_func (GtkTreeViewColumn *tree_column, + GtkCellRenderer *cell, + GtkTreeModel *model, + GtkTreeIter *iter, + GossipContactListView *view); +static void contact_list_view_expander_cell_data_func (GtkTreeViewColumn *column, + GtkCellRenderer *cell, + GtkTreeModel *model, + GtkTreeIter *iter, + GossipContactListView *view); +static GtkWidget * contact_list_view_get_contact_menu (GossipContactListView *view, + gboolean can_send_file, + gboolean can_show_log); +static gboolean contact_list_view_button_press_event_cb (GossipContactListView *view, + GdkEventButton *event, + gpointer user_data); +static void contact_list_view_row_activated_cb (GossipContactListView *view, + GtkTreePath *path, + GtkTreeViewColumn *col, + gpointer user_data); +static void contact_list_view_row_expand_or_collapse_cb (GossipContactListView *view, + GtkTreeIter *iter, + GtkTreePath *path, + gpointer user_data); +static gboolean contact_list_view_filter_show_contact (GossipContact *contact, + const gchar *filter); +static gboolean contact_list_view_filter_show_group (GossipContactListView *view, + const gchar *group, + const gchar *filter); +static gboolean contact_list_view_filter_func (GtkTreeModel *model, + GtkTreeIter *iter, + GossipContactListView *view); +static void contact_list_view_action_cb (GtkAction *action, + GossipContactListView *view); +static void contact_list_view_action_activated (GossipContactListView *view, + GossipContact *contact); + +enum { + PROP_0, + PROP_FILTER, +}; + +static const GtkActionEntry entries[] = { + { "ContactMenu", NULL, + N_("_Contact"), NULL, NULL, + NULL + }, + { "GroupMenu", NULL, + N_("_Group"),NULL, NULL, + NULL + }, + { "Chat", EMPATHY_IMAGE_MESSAGE, + N_("_Chat"), NULL, N_("Chat with contact"), + G_CALLBACK (contact_list_view_action_cb) + }, + { "Information", EMPATHY_IMAGE_CONTACT_INFORMATION, + N_("Infor_mation"), "<control>I", N_("View contact information"), + G_CALLBACK (contact_list_view_action_cb) + }, + { "Rename", NULL, + N_("Re_name"), NULL, N_("Rename"), + G_CALLBACK (contact_list_view_action_cb) + }, + { "Edit", GTK_STOCK_EDIT, + N_("_Edit"), NULL, N_("Edit the groups and name for this contact"), + G_CALLBACK (contact_list_view_action_cb) + }, + { "Remove", GTK_STOCK_REMOVE, + N_("_Remove"), NULL, N_("Remove contact"), + G_CALLBACK (contact_list_view_action_cb) + }, + { "Invite", EMPATHY_IMAGE_GROUP_MESSAGE, + N_("_Invite to Chat Room"), NULL, N_("Invite to a currently open chat room"), + G_CALLBACK (contact_list_view_action_cb) + }, + { "SendFile", NULL, + N_("_Send File..."), NULL, N_("Send a file"), + G_CALLBACK (contact_list_view_action_cb) + }, + { "Log", GTK_STOCK_JUSTIFY_LEFT, + N_("_View Previous Conversations"), NULL, N_("View previous conversations with this contact"), + G_CALLBACK (contact_list_view_action_cb) + }, +}; + +static guint n_entries = G_N_ELEMENTS (entries); + +static const gchar *ui_info = + "<ui>" + " <popup name='Contact'>" + " <menuitem action='Chat'/>" + " <menuitem action='Log'/>" + " <menuitem action='SendFile'/>" + " <separator/>" + " <menuitem action='Invite'/>" + " <separator/>" + " <menuitem action='Edit'/>" + " <menuitem action='Remove'/>" + " <separator/>" + " <menuitem action='Information'/>" + " </popup>" + " <popup name='Group'>" + " <menuitem action='Rename'/>" + " </popup>" + "</ui>"; + +enum DndDragType { + DND_DRAG_TYPE_CONTACT_ID, + DND_DRAG_TYPE_URL, + DND_DRAG_TYPE_STRING, +}; + +static const GtkTargetEntry drag_types_dest[] = { + { "text/contact-id", 0, DND_DRAG_TYPE_CONTACT_ID }, + { "text/uri-list", 0, DND_DRAG_TYPE_URL }, + { "text/plain", 0, DND_DRAG_TYPE_STRING }, + { "STRING", 0, DND_DRAG_TYPE_STRING }, +}; + +static const GtkTargetEntry drag_types_source[] = { + { "text/contact-id", 0, DND_DRAG_TYPE_CONTACT_ID }, +}; + +static GdkAtom drag_atoms_dest[G_N_ELEMENTS (drag_types_dest)]; +static GdkAtom drag_atoms_source[G_N_ELEMENTS (drag_types_source)]; + +enum { + DRAG_CONTACT_RECEIVED, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL]; + +G_DEFINE_TYPE (GossipContactListView, gossip_contact_list_view, GTK_TYPE_TREE_VIEW); + +static void +gossip_contact_list_view_class_init (GossipContactListViewClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = contact_list_view_finalize; + object_class->get_property = contact_list_view_get_property; + object_class->set_property = contact_list_view_set_property; + + signals[DRAG_CONTACT_RECEIVED] = + g_signal_new ("drag-contact-received", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + empathy_marshal_VOID__OBJECT_STRING_STRING, + G_TYPE_NONE, + 3, GOSSIP_TYPE_CONTACT, G_TYPE_STRING, G_TYPE_STRING); + + g_object_class_install_property (object_class, + PROP_FILTER, + g_param_spec_string ("filter", + "Filter", + "The text to use to filter the contact list", + NULL, + G_PARAM_READWRITE)); + + g_type_class_add_private (object_class, sizeof (GossipContactListViewPriv)); +} + +static void +gossip_contact_list_view_init (GossipContactListView *view) +{ + GossipContactListViewPriv *priv; + GtkActionGroup *action_group; + GError *error = NULL; + + priv = GET_PRIV (view); + + /* Get saved group states. */ + gossip_contact_groups_get_all (); + + /* Set up UI Manager */ + priv->ui = gtk_ui_manager_new (); + + action_group = gtk_action_group_new ("Actions"); + gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); + gtk_action_group_add_actions (action_group, entries, n_entries, view); + gtk_ui_manager_insert_action_group (priv->ui, action_group, 0); + + if (!gtk_ui_manager_add_ui_from_string (priv->ui, ui_info, -1, &error)) { + g_warning ("Could not build contact menus from string:'%s'", error->message); + g_error_free (error); + } + + g_object_unref (action_group); + + gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (view), + gossip_contact_list_store_row_separator_func, + NULL, NULL); + + /* Connect to tree view signals rather than override. */ + g_signal_connect (view, + "button-press-event", + G_CALLBACK (contact_list_view_button_press_event_cb), + NULL); + g_signal_connect (view, + "row-activated", + G_CALLBACK (contact_list_view_row_activated_cb), + NULL); + g_signal_connect (view, + "row-expanded", + G_CALLBACK (contact_list_view_row_expand_or_collapse_cb), + GINT_TO_POINTER (TRUE)); + g_signal_connect (view, + "row-collapsed", + G_CALLBACK (contact_list_view_row_expand_or_collapse_cb), + GINT_TO_POINTER (FALSE)); +} + +static void +contact_list_view_finalize (GObject *object) +{ + GossipContactListViewPriv *priv; + + priv = GET_PRIV (object); + + if (priv->ui) { + g_object_unref (priv->ui); + } + if (priv->store) { + g_object_unref (priv->store); + } + if (priv->filter) { + g_object_unref (priv->filter); + } + g_free (priv->filter_text); + + G_OBJECT_CLASS (gossip_contact_list_view_parent_class)->finalize (object); +} + +static void +contact_list_view_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec) +{ + GossipContactListViewPriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_FILTER: + g_value_set_string (value, priv->filter_text); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +static void +contact_list_view_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec) +{ + GossipContactListViewPriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_FILTER: + gossip_contact_list_view_set_filter (GOSSIP_CONTACT_LIST_VIEW (object), + g_value_get_string (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +GossipContactListView * +gossip_contact_list_view_new (GossipContactListStore *store) +{ + GossipContactListViewPriv *priv; + GossipContactListView *view; + + view = g_object_new (GOSSIP_TYPE_CONTACT_LIST_VIEW, NULL); + priv = GET_PRIV (view); + + priv->store = g_object_ref (store); + contact_list_view_setup (view); + + return view; +} + +GossipContact * +gossip_contact_list_view_get_selected (GossipContactListView *view) +{ + GossipContactListViewPriv *priv; + GtkTreeSelection *selection; + GtkTreeIter iter; + GtkTreeModel *model; + GossipContact *contact; + + g_return_val_if_fail (GOSSIP_IS_CONTACT_LIST_VIEW (view), NULL); + + priv = GET_PRIV (view); + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); + if (!gtk_tree_selection_get_selected (selection, &model, &iter)) { + return NULL; + } + + gtk_tree_model_get (model, &iter, COL_CONTACT, &contact, -1); + + return contact; +} + +gchar * +gossip_contact_list_view_get_selected_group (GossipContactListView *view) +{ + GossipContactListViewPriv *priv; + GtkTreeSelection *selection; + GtkTreeIter iter; + GtkTreeModel *model; + gboolean is_group; + gchar *name; + + g_return_val_if_fail (GOSSIP_IS_CONTACT_LIST_VIEW (view), NULL); + + priv = GET_PRIV (view); + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); + if (!gtk_tree_selection_get_selected (selection, &model, &iter)) { + return NULL; + } + + gtk_tree_model_get (model, &iter, + COL_IS_GROUP, &is_group, + COL_NAME, &name, + -1); + + if (!is_group) { + g_free (name); + return NULL; + } + + return name; +} + +GtkWidget * +gossip_contact_list_view_get_group_menu (GossipContactListView *view) +{ + GossipContactListViewPriv *priv; + GtkWidget *widget; + + g_return_val_if_fail (GOSSIP_IS_CONTACT_LIST_VIEW (view), NULL); + + priv = GET_PRIV (view); + + widget = gtk_ui_manager_get_widget (priv->ui, "/Group"); + + return widget; +} + +GtkWidget * +gossip_contact_list_view_get_contact_menu (GossipContactListView *view, + GossipContact *contact) +{ + gboolean can_show_log; + gboolean can_send_file; + + g_return_val_if_fail (GOSSIP_IS_CONTACT_LIST_VIEW (view), NULL); + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), NULL); + + can_show_log = FALSE; /* FIXME: gossip_log_exists_for_contact (contact); */ + can_send_file = FALSE; + + return contact_list_view_get_contact_menu (view, + can_send_file, + can_show_log); +} + +void +gossip_contact_list_view_set_filter (GossipContactListView *view, + const gchar *filter) +{ + GossipContactListViewPriv *priv; + + g_return_if_fail (GOSSIP_IS_CONTACT_LIST_VIEW (view)); + + priv = GET_PRIV (view); + + g_free (priv->filter_text); + if (filter) { + priv->filter_text = g_utf8_casefold (filter, -1); + } else { + priv->filter_text = NULL; + } + + gossip_debug (DEBUG_DOMAIN, "Refiltering with filter:'%s' (case folded)", filter); + gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (priv->filter)); +} + +void +gossip_contact_list_view_set_drag_received_func (GossipContactListView *view, + GossipContactListViewDragReceivedFunc func, + gpointer user_data) +{ + GossipContactListViewPriv *priv; + + g_return_if_fail (GOSSIP_IS_CONTACT_LIST_VIEW (view)); + + priv = GET_PRIV (view); + + if (func) { + priv->drag_received = func; + priv->drag_received_data = user_data; + } else { + priv->drag_received = NULL; + priv->drag_received_data = NULL; + } +} + +static void +contact_list_view_setup (GossipContactListView *view) +{ + GossipContactListViewPriv *priv; + GtkCellRenderer *cell; + GtkTreeViewColumn *col; + gint i; + + priv = GET_PRIV (view); + + /* Create filter */ + priv->filter = gtk_tree_model_filter_new (GTK_TREE_MODEL (priv->store), NULL); + + gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (priv->filter), + (GtkTreeModelFilterVisibleFunc) + contact_list_view_filter_func, + view, NULL); + gtk_tree_view_set_search_equal_func (GTK_TREE_VIEW (view), + gossip_contact_list_store_search_equal_func, + view, NULL); + g_signal_connect (priv->filter, "row-has-child-toggled", + G_CALLBACK (contact_list_view_row_has_child_toggled_cb), + view); + gtk_tree_view_set_model (GTK_TREE_VIEW (view), priv->filter); + + + /* Setup view */ + g_object_set (view, + "headers-visible", FALSE, + "reorderable", TRUE, + "show-expanders", FALSE, + NULL); + + col = gtk_tree_view_column_new (); + + /* State */ + cell = gtk_cell_renderer_pixbuf_new (); + gtk_tree_view_column_pack_start (col, cell, FALSE); + gtk_tree_view_column_set_cell_data_func ( + col, cell, + (GtkTreeCellDataFunc) contact_list_view_pixbuf_cell_data_func, + view, NULL); + + g_object_set (cell, + "xpad", 5, + "ypad", 1, + "visible", FALSE, + NULL); + + /* Name */ + cell = gossip_cell_renderer_text_new (); + gtk_tree_view_column_pack_start (col, cell, TRUE); + gtk_tree_view_column_set_cell_data_func ( + col, cell, + (GtkTreeCellDataFunc) contact_list_view_text_cell_data_func, + view, NULL); + + gtk_tree_view_column_add_attribute (col, cell, + "name", COL_NAME); + gtk_tree_view_column_add_attribute (col, cell, + "status", COL_STATUS); + gtk_tree_view_column_add_attribute (col, cell, + "is_group", COL_IS_GROUP); + + /* Avatar */ + cell = gtk_cell_renderer_pixbuf_new (); + gtk_tree_view_column_pack_start (col, cell, FALSE); + gtk_tree_view_column_set_cell_data_func ( + col, cell, + (GtkTreeCellDataFunc) contact_list_view_avatar_cell_data_func, + view, NULL); + + g_object_set (cell, + "xpad", 0, + "ypad", 0, + "visible", FALSE, + "width", 32, + "height", 32, + NULL); + + /* Expander */ + cell = gossip_cell_renderer_expander_new (); + gtk_tree_view_column_pack_end (col, cell, FALSE); + gtk_tree_view_column_set_cell_data_func ( + col, cell, + (GtkTreeCellDataFunc) contact_list_view_expander_cell_data_func, + view, NULL); + + /* Actually add the column now we have added all cell renderers */ + gtk_tree_view_append_column (GTK_TREE_VIEW (view), col); + + /* Drag & Drop. */ + for (i = 0; i < G_N_ELEMENTS (drag_types_dest); ++i) { + drag_atoms_dest[i] = gdk_atom_intern (drag_types_dest[i].target, + FALSE); + } + + for (i = 0; i < G_N_ELEMENTS (drag_types_source); ++i) { + drag_atoms_source[i] = gdk_atom_intern (drag_types_source[i].target, + FALSE); + } + + /* Note: We support the COPY action too, but need to make the + * MOVE action the default. + */ + gtk_drag_source_set (GTK_WIDGET (view), + GDK_BUTTON1_MASK, + drag_types_source, + G_N_ELEMENTS (drag_types_source), + GDK_ACTION_MOVE); + + gtk_drag_dest_set (GTK_WIDGET (view), + GTK_DEST_DEFAULT_ALL, + drag_types_dest, + G_N_ELEMENTS (drag_types_dest), + GDK_ACTION_MOVE | GDK_ACTION_LINK); + + g_signal_connect (GTK_WIDGET (view), + "drag-data-received", + G_CALLBACK (contact_list_view_drag_data_received), + NULL); + + /* FIXME: noticed but when you drag the row over the treeview + * fast, it seems to stop redrawing itself, if we don't + * connect this signal, all is fine. + */ + g_signal_connect (view, + "drag-motion", + G_CALLBACK (contact_list_view_drag_motion), + NULL); + + g_signal_connect (view, + "drag-begin", + G_CALLBACK (contact_list_view_drag_begin), + NULL); + g_signal_connect (view, + "drag-data-get", + G_CALLBACK (contact_list_view_drag_data_get), + NULL); + g_signal_connect (view, + "drag-end", + G_CALLBACK (contact_list_view_drag_end), + NULL); +} + +static void +contact_list_view_row_has_child_toggled_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GossipContactListView *view) +{ + gboolean is_group = FALSE; + gchar *name = NULL; + + gtk_tree_model_get (model, iter, + COL_IS_GROUP, &is_group, + COL_NAME, &name, + -1); + + if (!is_group || G_STR_EMPTY (name)) { + g_free (name); + return; + } + + if (gossip_contact_group_get_expanded (name)) { + g_signal_handlers_block_by_func (view, + contact_list_view_row_expand_or_collapse_cb, + GINT_TO_POINTER (TRUE)); + gtk_tree_view_expand_row (GTK_TREE_VIEW (view), path, TRUE); + g_signal_handlers_unblock_by_func (view, + contact_list_view_row_expand_or_collapse_cb, + GINT_TO_POINTER (TRUE)); + } else { + g_signal_handlers_block_by_func (view, + contact_list_view_row_expand_or_collapse_cb, + GINT_TO_POINTER (FALSE)); + gtk_tree_view_collapse_row (GTK_TREE_VIEW (view), path); + g_signal_handlers_unblock_by_func (view, + contact_list_view_row_expand_or_collapse_cb, + GINT_TO_POINTER (FALSE)); + } + + g_free (name); +} + +static void +contact_list_view_contact_received (GossipContactListView *view, + GossipContact *contact, + GdkDragAction action, + const gchar *old_group, + const gchar *new_group) +{ + GossipContactListViewPriv *priv; + GList *groups, *l; + GList *new_groups_list = NULL; + + priv = GET_PRIV (view); + + groups = gossip_contact_get_groups (contact); + for (l = groups; l; l = l->next) { + gchar *str; + + str = l->data; + + if (action == GDK_ACTION_MOVE && + old_group != NULL && + strcmp (str, old_group) == 0) { + continue; + } + + if (new_group && strcmp (str, new_group) == 0) { + /* Otherwise we set it twice */ + continue; + } + + new_groups_list = g_list_prepend (new_groups_list, g_strdup (str)); + } + + if (new_group) { + new_groups_list = g_list_prepend (new_groups_list, g_strdup (new_group)); + } + + gossip_contact_set_groups (contact, new_groups_list); +} + +static void +contact_list_view_drag_data_received (GtkWidget *widget, + GdkDragContext *context, + gint x, + gint y, + GtkSelectionData *selection, + guint info, + guint time, + gpointer user_data) +{ + GossipContactListViewPriv *priv; + EmpathyContactManager *manager; + GtkTreeModel *model; + GtkTreePath *path; + GtkTreeViewDropPosition position; + GossipContact *contact; + const gchar *id; + gchar *new_group = NULL; + gchar *old_group = NULL; + gboolean is_row; + + priv = GET_PRIV (widget); + + id = (const gchar*) selection->data; + gossip_debug (DEBUG_DOMAIN, "Received %s%s drag & drop contact from roster with id:'%s'", + context->action == GDK_ACTION_MOVE ? "move" : "", + context->action == GDK_ACTION_COPY ? "copy" : "", + id); + + /* FIXME: This is ambigous, an id can come from multiple accounts */ + manager = empathy_contact_manager_new (); + contact = empathy_contact_list_find (EMPATHY_CONTACT_LIST (manager), id); + g_object_unref (manager); + + if (!contact) { + gossip_debug (DEBUG_DOMAIN, "No contact found associated with drag & drop"); + return; + } + + model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget)); + + /* Get source group information. */ + if (priv->drag_row) { + path = gtk_tree_row_reference_get_path (priv->drag_row); + if (path) { + old_group = gossip_contact_list_store_get_parent_group (model, path, NULL); + gtk_tree_path_free (path); + } + } + + /* Get destination group information. */ + is_row = gtk_tree_view_get_dest_row_at_pos (GTK_TREE_VIEW (widget), + x, + y, + &path, + &position); + + if (is_row) { + new_group = gossip_contact_list_store_get_parent_group (model, path, NULL); + gtk_tree_path_free (path); + } + + gossip_debug (DEBUG_DOMAIN, + "contact '%s' dragged from '%s' to '%s'", + gossip_contact_get_name (contact), + old_group, new_group); + + if (priv->drag_received) { + priv->drag_received (contact, + context->action, + old_group, + new_group, + priv->drag_received_data); + } else { + contact_list_view_contact_received (GOSSIP_CONTACT_LIST_VIEW (widget), + contact, + context->action, + old_group, + new_group); + } + + g_free (old_group); + g_free (new_group); + + gtk_drag_finish (context, TRUE, FALSE, GDK_CURRENT_TIME); +} + +static gboolean +contact_list_view_drag_motion (GtkWidget *widget, + GdkDragContext *context, + gint x, + gint y, + guint time, + gpointer data) +{ + static DragMotionData *dm = NULL; + GtkTreePath *path; + gboolean is_row; + gboolean is_different = FALSE; + gboolean cleanup = TRUE; + + is_row = gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (widget), + x, + y, + &path, + NULL, + NULL, + NULL); + + cleanup &= (!dm); + + if (is_row) { + cleanup &= (dm && gtk_tree_path_compare (dm->path, path) != 0); + is_different = (!dm || (dm && gtk_tree_path_compare (dm->path, path) != 0)); + } else { + cleanup &= FALSE; + } + + if (!is_different && !cleanup) { + return TRUE; + } + + if (dm) { + gtk_tree_path_free (dm->path); + if (dm->timeout_id) { + g_source_remove (dm->timeout_id); + } + + g_free (dm); + + dm = NULL; + } + + if (!gtk_tree_view_row_expanded (GTK_TREE_VIEW (widget), path)) { + dm = g_new0 (DragMotionData, 1); + + dm->view = GOSSIP_CONTACT_LIST_VIEW (widget); + dm->path = gtk_tree_path_copy (path); + + dm->timeout_id = g_timeout_add ( + 1500, + (GSourceFunc) contact_list_view_drag_motion_cb, + dm); + } + + return TRUE; +} + +static gboolean +contact_list_view_drag_motion_cb (DragMotionData *data) +{ + gtk_tree_view_expand_row (GTK_TREE_VIEW (data->view), + data->path, + FALSE); + + data->timeout_id = 0; + + return FALSE; +} + +static void +contact_list_view_drag_begin (GtkWidget *widget, + GdkDragContext *context, + gpointer user_data) +{ + GossipContactListViewPriv *priv; + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkTreePath *path; + GtkTreeIter iter; + + priv = GET_PRIV (widget); + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); + if (!gtk_tree_selection_get_selected (selection, &model, &iter)) { + return; + } + + path = gtk_tree_model_get_path (model, &iter); + priv->drag_row = gtk_tree_row_reference_new (model, path); + gtk_tree_path_free (path); +} + +static void +contact_list_view_drag_data_get (GtkWidget *widget, + GdkDragContext *context, + GtkSelectionData *selection, + guint info, + guint time, + gpointer user_data) +{ + GossipContactListViewPriv *priv; + GtkTreePath *src_path; + GtkTreeIter iter; + GtkTreeModel *model; + GossipContact *contact; + const gchar *id; + + priv = GET_PRIV (widget); + + model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget)); + if (!priv->drag_row) { + return; + } + + src_path = gtk_tree_row_reference_get_path (priv->drag_row); + if (!src_path) { + return; + } + + if (!gtk_tree_model_get_iter (model, &iter, src_path)) { + gtk_tree_path_free (src_path); + return; + } + + gtk_tree_path_free (src_path); + + contact = gossip_contact_list_view_get_selected (GOSSIP_CONTACT_LIST_VIEW (widget)); + if (!contact) { + return; + } + + id = gossip_contact_get_id (contact); + g_object_unref (contact); + + switch (info) { + case DND_DRAG_TYPE_CONTACT_ID: + gtk_selection_data_set (selection, drag_atoms_source[info], 8, + (guchar*)id, strlen (id) + 1); + break; + + default: + return; + } +} + +static void +contact_list_view_drag_end (GtkWidget *widget, + GdkDragContext *context, + gpointer user_data) +{ + GossipContactListViewPriv *priv; + + priv = GET_PRIV (widget); + + if (priv->drag_row) { + gtk_tree_row_reference_free (priv->drag_row); + priv->drag_row = NULL; + } +} + +static void +contact_list_view_cell_set_background (GossipContactListView *view, + GtkCellRenderer *cell, + gboolean is_group, + gboolean is_active) +{ + GdkColor color; + GtkStyle *style; + + style = gtk_widget_get_style (GTK_WIDGET (view)); + + if (!is_group) { + if (is_active) { + color = style->bg[GTK_STATE_SELECTED]; + + /* Here we take the current theme colour and add it to + * the colour for white and average the two. This + * gives a colour which is inline with the theme but + * slightly whiter. + */ + color.red = (color.red + (style->white).red) / 2; + color.green = (color.green + (style->white).green) / 2; + color.blue = (color.blue + (style->white).blue) / 2; + + g_object_set (cell, + "cell-background-gdk", &color, + NULL); + } else { + g_object_set (cell, + "cell-background-gdk", NULL, + NULL); + } + } else { + g_object_set (cell, + "cell-background-gdk", NULL, + NULL); + } +} + +static void +contact_list_view_pixbuf_cell_data_func (GtkTreeViewColumn *tree_column, + GtkCellRenderer *cell, + GtkTreeModel *model, + GtkTreeIter *iter, + GossipContactListView *view) +{ + gchar *icon_name; + gboolean is_group; + gboolean is_active; + + gtk_tree_model_get (model, iter, + COL_IS_GROUP, &is_group, + COL_IS_ACTIVE, &is_active, + COL_ICON_STATUS, &icon_name, + -1); + + g_object_set (cell, + "visible", !is_group, + "icon-name", icon_name, + NULL); + + g_free (icon_name); + + contact_list_view_cell_set_background (view, cell, is_group, is_active); +} + +static void +contact_list_view_avatar_cell_data_func (GtkTreeViewColumn *tree_column, + GtkCellRenderer *cell, + GtkTreeModel *model, + GtkTreeIter *iter, + GossipContactListView *view) +{ + GdkPixbuf *pixbuf; + gboolean show_avatar; + gboolean is_group; + gboolean is_active; + + gtk_tree_model_get (model, iter, + COL_PIXBUF_AVATAR, &pixbuf, + COL_PIXBUF_AVATAR_VISIBLE, &show_avatar, + COL_IS_GROUP, &is_group, + COL_IS_ACTIVE, &is_active, + -1); + + g_object_set (cell, + "visible", !is_group && show_avatar, + "pixbuf", pixbuf, + NULL); + + if (pixbuf) { + g_object_unref (pixbuf); + } + + contact_list_view_cell_set_background (view, cell, is_group, is_active); +} + +static void +contact_list_view_text_cell_data_func (GtkTreeViewColumn *tree_column, + GtkCellRenderer *cell, + GtkTreeModel *model, + GtkTreeIter *iter, + GossipContactListView *view) +{ + gboolean is_group; + gboolean is_active; + gboolean show_status; + + gtk_tree_model_get (model, iter, + COL_IS_GROUP, &is_group, + COL_IS_ACTIVE, &is_active, + COL_STATUS_VISIBLE, &show_status, + -1); + + g_object_set (cell, + "show-status", show_status, + NULL); + + contact_list_view_cell_set_background (view, cell, is_group, is_active); +} + +static void +contact_list_view_expander_cell_data_func (GtkTreeViewColumn *column, + GtkCellRenderer *cell, + GtkTreeModel *model, + GtkTreeIter *iter, + GossipContactListView *view) +{ + gboolean is_group; + gboolean is_active; + + gtk_tree_model_get (model, iter, + COL_IS_GROUP, &is_group, + COL_IS_ACTIVE, &is_active, + -1); + + if (gtk_tree_model_iter_has_child (model, iter)) { + GtkTreePath *path; + gboolean row_expanded; + + path = gtk_tree_model_get_path (model, iter); + row_expanded = gtk_tree_view_row_expanded (GTK_TREE_VIEW (column->tree_view), path); + gtk_tree_path_free (path); + + g_object_set (cell, + "visible", TRUE, + "expander-style", row_expanded ? GTK_EXPANDER_EXPANDED : GTK_EXPANDER_COLLAPSED, + NULL); + } else { + g_object_set (cell, "visible", FALSE, NULL); + } + + contact_list_view_cell_set_background (view, cell, is_group, is_active); +} + +static GtkWidget * +contact_list_view_get_contact_menu (GossipContactListView *view, + gboolean can_send_file, + gboolean can_show_log) +{ + GossipContactListViewPriv *priv; + GtkAction *action; + GtkWidget *widget; + + priv = GET_PRIV (view); + + /* Sort out sensitive items */ + action = gtk_ui_manager_get_action (priv->ui, "/Contact/Log"); + gtk_action_set_sensitive (action, can_show_log); + + action = gtk_ui_manager_get_action (priv->ui, "/Contact/SendFile"); + gtk_action_set_visible (action, can_send_file); + + widget = gtk_ui_manager_get_widget (priv->ui, "/Contact"); + + return widget; +} + +static gboolean +contact_list_view_button_press_event_cb (GossipContactListView *view, + GdkEventButton *event, + gpointer user_data) +{ + GossipContactListViewPriv *priv; + GossipContact *contact; + GtkTreePath *path; + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkTreeIter iter; + gboolean row_exists; + GtkWidget *menu; + + if (event->button != 3) { + return FALSE; + } + + priv = GET_PRIV (view); + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); + model = gtk_tree_view_get_model (GTK_TREE_VIEW (view)); + + gtk_widget_grab_focus (GTK_WIDGET (view)); + + row_exists = gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (view), + event->x, event->y, + &path, + NULL, NULL, NULL); + if (!row_exists) { + return FALSE; + } + + gtk_tree_selection_unselect_all (selection); + gtk_tree_selection_select_path (selection, path); + + gtk_tree_model_get_iter (model, &iter, path); + gtk_tree_path_free (path); + + gtk_tree_model_get (model, &iter, COL_CONTACT, &contact, -1); + + if (contact) { + menu = gossip_contact_list_view_get_contact_menu (view, contact); + g_object_unref (contact); + } else { + menu = gossip_contact_list_view_get_group_menu (view); + } + + if (!menu) { + return FALSE; + } + + gtk_widget_show (menu); + + gtk_menu_popup (GTK_MENU (menu), + NULL, NULL, NULL, NULL, + event->button, event->time); + + return TRUE; +} + +static void +contact_list_view_row_activated_cb (GossipContactListView *view, + GtkTreePath *path, + GtkTreeViewColumn *col, + gpointer user_data) +{ + GossipContact *contact; + GtkTreeModel *model; + GtkTreeIter iter; + + model = gtk_tree_view_get_model (GTK_TREE_VIEW (view)); + + gtk_tree_model_get_iter (model, &iter, path); + gtk_tree_model_get (model, &iter, COL_CONTACT, &contact, -1); + + if (contact) { + contact_list_view_action_activated (view, contact); + g_object_unref (contact); + } +} + +static void +contact_list_view_row_expand_or_collapse_cb (GossipContactListView *view, + GtkTreeIter *iter, + GtkTreePath *path, + gpointer user_data) +{ + GtkTreeModel *model; + gchar *name; + gboolean expanded; + + model = gtk_tree_view_get_model (GTK_TREE_VIEW (view)); + + gtk_tree_model_get (model, iter, + COL_NAME, &name, + -1); + + expanded = GPOINTER_TO_INT (user_data); + gossip_contact_group_set_expanded (name, expanded); + + g_free (name); +} + +static gboolean +contact_list_view_filter_show_contact (GossipContact *contact, + const gchar *filter) +{ + gchar *str; + gboolean visible; + + /* Check contact id */ + str = g_utf8_casefold (gossip_contact_get_id (contact), -1); + visible = G_STR_EMPTY (str) || strstr (str, filter); + g_free (str); + + if (visible) { + return TRUE; + } + + /* Check contact name */ + str = g_utf8_casefold (gossip_contact_get_name (contact), -1); + visible = G_STR_EMPTY (str) || strstr (str, filter); + g_free (str); + + return visible; +} + +static gboolean +contact_list_view_filter_show_group (GossipContactListView *view, + const gchar *group, + const gchar *filter) +{ + GossipContactListViewPriv *priv; + EmpathyContactList *list; + GList *contacts, *l; + gchar *str; + gboolean show_group = FALSE; + + priv = GET_PRIV (view); + + str = g_utf8_casefold (group, -1); + if (!str) { + return FALSE; + } + + /* If the filter is the partially the group name, we show the + * whole group. + */ + if (strstr (str, filter)) { + g_free (str); + return TRUE; + } + + /* At this point, we need to check in advance if this + * group should be shown because a contact we want to + * show exists in it. + */ + list = gossip_contact_list_store_get_list_iface (priv->store); + contacts = empathy_contact_list_get_contacts (list); + for (l = contacts; l && !show_group; l = l->next) { + if (!gossip_contact_is_in_group (l->data, group)) { + continue; + } + + if (contact_list_view_filter_show_contact (l->data, filter)) { + show_group = TRUE; + } + } + g_list_foreach (contacts, (GFunc) g_object_unref, NULL); + g_list_free (contacts); + g_free (str); + + return show_group; +} + +static gboolean +contact_list_view_filter_func (GtkTreeModel *model, + GtkTreeIter *iter, + GossipContactListView *view) +{ + GossipContactListViewPriv *priv; + gboolean is_group; + gboolean is_separator; + gboolean visible = TRUE; + + priv = GET_PRIV (view); + + if (G_STR_EMPTY (priv->filter_text)) { + return TRUE; + } + + /* Check to see if iter matches any group names */ + gtk_tree_model_get (model, iter, + COL_IS_GROUP, &is_group, + COL_IS_SEPARATOR, &is_separator, + -1); + + if (is_group) { + gchar *name; + + gtk_tree_model_get (model, iter, COL_NAME, &name, -1); + visible &= contact_list_view_filter_show_group (view, + name, + priv->filter_text); + g_free (name); + } else if (is_separator) { + /* Do nothing here */ + } else { + GossipContact *contact; + + /* Check contact id */ + gtk_tree_model_get (model, iter, COL_CONTACT, &contact, -1); + visible &= contact_list_view_filter_show_contact (contact, + priv->filter_text); + g_object_unref (contact); + } + + return visible; +} + +static void +contact_list_view_action_cb (GtkAction *action, + GossipContactListView *view) +{ + GossipContact *contact; + const gchar *name; + gchar *group; + + name = gtk_action_get_name (action); + if (!name) { + return; + } + + gossip_debug (DEBUG_DOMAIN, "Action:'%s' activated", name); + + contact = gossip_contact_list_view_get_selected (view); + group = gossip_contact_list_view_get_selected_group (view); + + if (contact && strcmp (name, "Chat") == 0) { + contact_list_view_action_activated (view, contact); + } + else if (contact && strcmp (name, "Information") == 0) { + } + else if (contact && strcmp (name, "Edit") == 0) { + } + else if (contact && strcmp (name, "Remove") == 0) { + } + else if (contact && strcmp (name, "Invite") == 0) { + } + else if (contact && strcmp (name, "SendFile") == 0) { + } + else if (contact && strcmp (name, "Log") == 0) { + } + else if (group && strcmp (name, "Rename") == 0) { + } + + g_free (group); + if (contact) { + g_object_unref (contact); + } +} + +static void +contact_list_view_action_activated (GossipContactListView *view, + GossipContact *contact) +{ + MissionControl *mc; + + mc = gossip_mission_control_new (); + mission_control_request_channel (mc, + gossip_contact_get_account (contact), + TP_IFACE_CHANNEL_TYPE_TEXT, + gossip_contact_get_handle (contact), + TP_HANDLE_TYPE_CONTACT, + NULL, NULL); + g_object_unref (mc); +} + diff --git a/trunk/libempathy-gtk/gossip-contact-list-view.h b/trunk/libempathy-gtk/gossip-contact-list-view.h new file mode 100644 index 000000000..20262f8ad --- /dev/null +++ b/trunk/libempathy-gtk/gossip-contact-list-view.h @@ -0,0 +1,78 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_CONTACT_LIST_VIEW_H__ +#define __GOSSIP_CONTACT_LIST_VIEW_H__ + +#include <gtk/gtktreeview.h> + +#include <libempathy/gossip-contact.h> + +#include "gossip-contact-list-store.h" + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_CONTACT_LIST_VIEW (gossip_contact_list_view_get_type ()) +#define GOSSIP_CONTACT_LIST_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_CONTACT_LIST_VIEW, GossipContactListView)) +#define GOSSIP_CONTACT_LIST_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GOSSIP_TYPE_CONTACT_LIST_VIEW, GossipContactListViewClass)) +#define GOSSIP_IS_CONTACT_LIST_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_CONTACT_LIST_VIEW)) +#define GOSSIP_IS_CONTACT_LIST_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_CONTACT_LIST_VIEW)) +#define GOSSIP_CONTACT_LIST_VIEW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_CONTACT_LIST_VIEW, GossipContactListViewClass)) + +typedef struct _GossipContactListView GossipContactListView; +typedef struct _GossipContactListViewClass GossipContactListViewClass; +typedef struct _GossipContactListViewPriv GossipContactListViewPriv; + +struct _GossipContactListView { + GtkTreeView parent; +}; + +struct _GossipContactListViewClass { + GtkTreeViewClass parent_class; +}; + +typedef void (*GossipContactListViewDragReceivedFunc) (GossipContact *contact, + GdkDragAction action, + const gchar *old_group, + const gchar *new_group, + gpointer user_data); + +GType gossip_contact_list_view_get_type (void) G_GNUC_CONST; +GossipContactListView *gossip_contact_list_view_new (GossipContactListStore *store); +GossipContact * gossip_contact_list_view_get_selected (GossipContactListView *view); +gchar * gossip_contact_list_view_get_selected_group (GossipContactListView *view); +GtkWidget * gossip_contact_list_view_get_contact_menu (GossipContactListView *view, + GossipContact *contact); +GtkWidget * gossip_contact_list_view_get_group_menu (GossipContactListView *view); +void gossip_contact_list_view_set_filter (GossipContactListView *view, + const gchar *filter); +void gossip_contact_list_view_set_drag_received_func (GossipContactListView *view, + GossipContactListViewDragReceivedFunc func, + gpointer user_data); + +G_END_DECLS + +#endif /* __GOSSIP_CONTACT_LIST_VIEW_H__ */ + diff --git a/trunk/libempathy-gtk/gossip-geometry.c b/trunk/libempathy-gtk/gossip-geometry.c new file mode 100644 index 000000000..ad0bd8dd1 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-geometry.c @@ -0,0 +1,186 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include <sys/stat.h> + +#include <glib.h> +#include <gdk/gdk.h> + +#include <libempathy/gossip-debug.h> + +#include "gossip-geometry.h" + +#define DEBUG_DOMAIN "Geometry" + +#define GEOMETRY_DIR_CREATE_MODE (S_IRUSR | S_IWUSR | S_IXUSR) +#define GEOMETRY_FILE_CREATE_MODE (S_IRUSR | S_IWUSR) + +#define GEOMETRY_KEY_FILENAME "geometry.ini" +#define GEOMETRY_FORMAT "%d,%d,%d,%d" +#define GEOMETRY_GROUP_NAME "geometry" + +static gchar *geometry_get_filename (void); + +static gchar * +geometry_get_filename (void) +{ + gchar *dir; + gchar *filename; + + dir = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, NULL); + if (!g_file_test (dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) { + gossip_debug (DEBUG_DOMAIN, "Creating directory:'%s'", dir); + g_mkdir_with_parents (dir, GEOMETRY_DIR_CREATE_MODE); + } + + filename = g_build_filename (dir, GEOMETRY_KEY_FILENAME, NULL); + g_free (dir); + + return filename; +} + +void +gossip_geometry_save (const gchar *name, + gint x, + gint y, + gint w, + gint h) +{ + GError *error = NULL; + GKeyFile *key_file; + gchar *filename; + GdkScreen *screen; + gint max_width; + gint max_height; + gchar *content; + gsize length; + gchar *str; + + gossip_debug (DEBUG_DOMAIN, "Saving window geometry: x:%d, y:%d, w:%d, h:%d\n", + x, y, w, h); + + screen = gdk_screen_get_default (); + max_width = gdk_screen_get_width (screen); + max_height = gdk_screen_get_height (screen); + + w = CLAMP (w, 100, max_width); + h = CLAMP (h, 100, max_height); + + x = CLAMP (x, 0, max_width - w); + y = CLAMP (y, 0, max_height - h); + + str = g_strdup_printf (GEOMETRY_FORMAT, x, y, w, h); + + key_file = g_key_file_new (); + + filename = geometry_get_filename (); + + g_key_file_load_from_file (key_file, filename, G_KEY_FILE_NONE, NULL); + g_key_file_set_string (key_file, GEOMETRY_GROUP_NAME, name, str); + + g_free (str); + + content = g_key_file_to_data (key_file, &length, NULL); + if (!g_file_set_contents (filename, content, length, &error)) { + g_warning ("Couldn't save window geometry, error:%d->'%s'", + error->code, error->message); + g_error_free (error); + } + + g_free (content); + g_free (filename); + g_key_file_free (key_file); +} + +void +gossip_geometry_load (const gchar *name, + gint *x, + gint *y, + gint *w, + gint *h) +{ + GKeyFile *key_file; + gchar *filename; + gchar *str = NULL; + + if (x) { + *x = -1; + } + + if (y) { + *y = -1; + } + + if (w) { + *w = -1; + } + + if (h) { + *h = -1; + } + + key_file = g_key_file_new (); + + filename = geometry_get_filename (); + + if (g_key_file_load_from_file (key_file, filename, G_KEY_FILE_NONE, NULL)) { + str = g_key_file_get_string (key_file, GEOMETRY_GROUP_NAME, name, NULL); + } + + if (str) { + gint tmp_x, tmp_y, tmp_w, tmp_h; + + sscanf (str, GEOMETRY_FORMAT, &tmp_x, &tmp_y, &tmp_w, &tmp_h); + + if (x) { + *x = tmp_x; + } + + if (y) { + *y = tmp_y; + } + + if (w) { + *w = tmp_w; + } + + if (h) { + *h = tmp_h; + } + + g_free (str); + } + + gossip_debug (DEBUG_DOMAIN, "Loading window geometry: x:%d, y:%d, w:%d, h:%d\n", + x ? *x : -1, + y ? *y : -1, + w ? *w : -1, + h ? *h : -1); + + g_free (filename); + g_key_file_free (key_file); +} + diff --git a/trunk/libempathy-gtk/gossip-geometry.h b/trunk/libempathy-gtk/gossip-geometry.h new file mode 100644 index 000000000..24534fb38 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-geometry.h @@ -0,0 +1,45 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_GEOMETRY_H__ +#define __GOSSIP_GEOMETRY_H__ + +#include <glib.h> + +G_BEGIN_DECLS + +void gossip_geometry_save (const gchar *name, + gint x, + gint y, + gint w, + gint h); +void gossip_geometry_load (const gchar *name, + gint *x, + gint *y, + gint *w, + gint *h); + +G_END_DECLS + +#endif /* __GOSSIP_GEOMETRY_H__ */ diff --git a/trunk/libempathy-gtk/gossip-group-chat.c b/trunk/libempathy-gtk/gossip-group-chat.c new file mode 100644 index 000000000..3dc4022bf --- /dev/null +++ b/trunk/libempathy-gtk/gossip-group-chat.c @@ -0,0 +1,632 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2002-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include <string.h> + +#include <gtk/gtk.h> +#include <glade/glade.h> +#include <glib/gi18n.h> + +#include <libempathy/empathy-tp-chat.h> +#include <libempathy/empathy-tp-chatroom.h> +#include <libempathy/gossip-contact.h> +#include <libempathy/gossip-utils.h> +#include <libempathy/gossip-debug.h> + +#include "gossip-group-chat.h" +#include "gossip-chat.h" +#include "gossip-chat-view.h" +#include "gossip-contact-list-store.h" +#include "gossip-contact-list-view.h" +//#include "gossip-chat-invite.h" +//#include "gossip-sound.h" +#include "empathy-images.h" +#include "gossip-ui-utils.h" + +#define DEBUG_DOMAIN "GroupChat" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_GROUP_CHAT, GossipGroupChatPriv)) + +struct _GossipGroupChatPriv { + GossipContactListStore *store; + GossipContactListView *view; + EmpathyTpChatroom *tp_chat; + + GtkWidget *widget; + GtkWidget *hpaned; + GtkWidget *vbox_left; + GtkWidget *scrolled_window_chat; + GtkWidget *scrolled_window_input; + GtkWidget *scrolled_window_contacts; + GtkWidget *hbox_topic; + GtkWidget *label_topic; + + gchar *topic; + gchar *name; + GCompletion *completion; + + gint contacts_width; + gboolean contacts_visible; +}; + +static void group_chat_finalize (GObject *object); +static void group_chat_create_ui (GossipGroupChat *chat); +static void group_chat_widget_destroy_cb (GtkWidget *widget, + GossipGroupChat *chat); +static void group_chat_contact_added_cb (EmpathyTpChatroom *tp_chat, + GossipContact *contact, + GossipGroupChat *chat); +static void group_chat_contact_removed_cb (EmpathyTpChatroom *tp_chat, + GossipContact *contact, + GossipGroupChat *chat); +/*static void group_chat_topic_changed_cb (EmpathyTpChatroom *tp_chat, + const gchar *new_topic, + GossipGroupChat *chat);*/ +static void group_chat_topic_entry_activate_cb (GtkWidget *entry, + GtkDialog *dialog); +static void group_chat_topic_response_cb (GtkWidget *dialog, + gint response, + GossipGroupChat *chat); +static const gchar * group_chat_get_name (GossipChat *chat); +static gchar * group_chat_get_tooltip (GossipChat *chat); +static const gchar * group_chat_get_status_icon_name (GossipChat *chat); +static GtkWidget * group_chat_get_widget (GossipChat *chat); +static gboolean group_chat_is_group_chat (GossipChat *chat); +/*static gboolean group_chat_key_press_event (GtkWidget *widget, + GdkEventKey *event, + GossipGroupChat *chat);*/ +static gint group_chat_contacts_completion_func (const gchar *s1, + const gchar *s2, + gsize n); + +G_DEFINE_TYPE (GossipGroupChat, gossip_group_chat, GOSSIP_TYPE_CHAT) + +static void +gossip_group_chat_class_init (GossipGroupChatClass *klass) +{ + GObjectClass *object_class; + GossipChatClass *chat_class; + + object_class = G_OBJECT_CLASS (klass); + chat_class = GOSSIP_CHAT_CLASS (klass); + + object_class->finalize = group_chat_finalize; + + chat_class->get_name = group_chat_get_name; + chat_class->get_tooltip = group_chat_get_tooltip; + chat_class->get_status_icon_name = group_chat_get_status_icon_name; + chat_class->get_widget = group_chat_get_widget; + chat_class->is_group_chat = group_chat_is_group_chat; + + g_type_class_add_private (object_class, sizeof (GossipGroupChatPriv)); +} + +static void +gossip_group_chat_init (GossipGroupChat *chat) +{ + GossipGroupChatPriv *priv; + GossipChatView *chatview; + + priv = GET_PRIV (chat); + + priv->contacts_visible = TRUE; + + chatview = GOSSIP_CHAT_VIEW (GOSSIP_CHAT (chat)->view); + gossip_chat_view_set_is_group_chat (chatview, TRUE); + + group_chat_create_ui (chat); +} + +static void +group_chat_finalize (GObject *object) +{ + GossipGroupChat *chat; + GossipGroupChatPriv *priv; + + gossip_debug (DEBUG_DOMAIN, "Finalized:%p", object); + + chat = GOSSIP_GROUP_CHAT (object); + priv = GET_PRIV (chat); + + g_free (priv->name); + g_free (priv->topic); + g_object_unref (priv->store); + g_object_unref (priv->tp_chat); + g_completion_free (priv->completion); + + G_OBJECT_CLASS (gossip_group_chat_parent_class)->finalize (object); +} + +GossipGroupChat * +gossip_group_chat_new (McAccount *account, + TpChan *tp_chan) +{ + GossipGroupChat *chat; + GossipGroupChatPriv *priv; + + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + g_return_val_if_fail (TELEPATHY_IS_CHAN (tp_chan), NULL); + + chat = g_object_new (GOSSIP_TYPE_GROUP_CHAT, NULL); + + priv = GET_PRIV (chat); + + priv->tp_chat = empathy_tp_chatroom_new (account, tp_chan); + gossip_chat_set_tp_chat (GOSSIP_CHAT (chat), EMPATHY_TP_CHAT (priv->tp_chat)); + GOSSIP_CHAT (chat)->account = g_object_ref (account); + + /* FIXME: Ask the user before accepting */ + empathy_tp_chatroom_accept_invitation (priv->tp_chat); + + /* Create contact list */ + priv->store = gossip_contact_list_store_new (EMPATHY_CONTACT_LIST (priv->tp_chat)); + priv->view = gossip_contact_list_view_new (priv->store); + gossip_contact_list_store_set_show_offline (priv->store, TRUE); + gtk_container_add (GTK_CONTAINER (priv->scrolled_window_contacts), + GTK_WIDGET (priv->view)); + gtk_widget_show (GTK_WIDGET (priv->view)); + + g_signal_connect (priv->tp_chat, "contact-added", + G_CALLBACK (group_chat_contact_added_cb), + chat); + g_signal_connect (priv->tp_chat, "contact-removed", + G_CALLBACK (group_chat_contact_removed_cb), + chat); +/* g_signal_connect (priv->tp_chat, "chatroom-topic-changed", + G_CALLBACK (group_chat_topic_changed_cb), + chat); + g_signal_connect (priv->tp_chat, "contact-info-changed", + G_CALLBACK (group_chat_contact_info_changed_cb), + chat);*/ + + return chat; +} + +gboolean +gossip_group_chat_get_show_contacts (GossipGroupChat *chat) +{ + GossipGroupChat *group_chat; + GossipGroupChatPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_GROUP_CHAT (chat), FALSE); + + group_chat = GOSSIP_GROUP_CHAT (chat); + priv = GET_PRIV (group_chat); + + return priv->contacts_visible; +} + +void +gossip_group_chat_set_show_contacts (GossipGroupChat *chat, + gboolean show) +{ + GossipGroupChat *group_chat; + GossipGroupChatPriv *priv; + + g_return_if_fail (GOSSIP_IS_GROUP_CHAT (chat)); + + group_chat = GOSSIP_GROUP_CHAT (chat); + priv = GET_PRIV (group_chat); + + priv->contacts_visible = show; + + if (show) { + gtk_widget_show (priv->scrolled_window_contacts); + gtk_paned_set_position (GTK_PANED (priv->hpaned), + priv->contacts_width); + } else { + priv->contacts_width = gtk_paned_get_position (GTK_PANED (priv->hpaned)); + gtk_widget_hide (priv->scrolled_window_contacts); + } +} + +void +gossip_group_chat_set_topic (GossipGroupChat *chat) +{ + GossipGroupChatPriv *priv; + GossipChatWindow *chat_window; + GtkWidget *chat_dialog; + GtkWidget *dialog; + GtkWidget *entry; + GtkWidget *hbox; + const gchar *topic; + + g_return_if_fail (GOSSIP_IS_GROUP_CHAT (chat)); + + priv = GET_PRIV (chat); + + chat_window = gossip_chat_get_window (GOSSIP_CHAT (chat)); + chat_dialog = gossip_chat_window_get_dialog (chat_window); + + dialog = gtk_message_dialog_new (GTK_WINDOW (chat_dialog), + 0, + GTK_MESSAGE_QUESTION, + GTK_BUTTONS_OK_CANCEL, + _("Enter the new topic you want to set for this room:")); + + topic = gtk_label_get_text (GTK_LABEL (priv->label_topic)); + + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), + hbox, FALSE, TRUE, 4); + + entry = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry), topic); + gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1); + + gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 4); + + g_object_set (GTK_MESSAGE_DIALOG (dialog)->label, "use-markup", TRUE, NULL); + g_object_set_data (G_OBJECT (dialog), "entry", entry); + + g_signal_connect (entry, "activate", + G_CALLBACK (group_chat_topic_entry_activate_cb), + dialog); + g_signal_connect (dialog, "response", + G_CALLBACK (group_chat_topic_response_cb), + chat); + + gtk_widget_show_all (dialog); +} + +static void +group_chat_create_ui (GossipGroupChat *chat) +{ + GossipGroupChatPriv *priv; + GladeXML *glade; + GList *list = NULL; + + priv = GET_PRIV (chat); + + glade = gossip_glade_get_file ("gossip-group-chat.glade", + "group_chat_widget", + NULL, + "group_chat_widget", &priv->widget, + "hpaned", &priv->hpaned, + "vbox_left", &priv->vbox_left, + "scrolled_window_chat", &priv->scrolled_window_chat, + "scrolled_window_input", &priv->scrolled_window_input, + "hbox_topic", &priv->hbox_topic, + "label_topic", &priv->label_topic, + "scrolled_window_contacts", &priv->scrolled_window_contacts, + NULL); + + gossip_glade_connect (glade, + chat, + "group_chat_widget", "destroy", group_chat_widget_destroy_cb, + NULL); + + g_object_unref (glade); + + g_object_set_data (G_OBJECT (priv->widget), "chat", g_object_ref (chat)); + + /* Add room GtkTextView. */ + gtk_container_add (GTK_CONTAINER (priv->scrolled_window_chat), + GTK_WIDGET (GOSSIP_CHAT (chat)->view)); + gtk_widget_show (GTK_WIDGET (GOSSIP_CHAT (chat)->view)); + + /* Add input GtkTextView */ + gtk_container_add (GTK_CONTAINER (priv->scrolled_window_input), + GOSSIP_CHAT (chat)->input_text_view); + gtk_widget_show (GOSSIP_CHAT (chat)->input_text_view); + + /* Add nick name completion */ + priv->completion = g_completion_new (NULL); + g_completion_set_compare (priv->completion, + group_chat_contacts_completion_func); + + /* Set widget focus order */ + list = g_list_append (NULL, priv->scrolled_window_input); + gtk_container_set_focus_chain (GTK_CONTAINER (priv->vbox_left), list); + g_list_free (list); + + list = g_list_append (NULL, priv->vbox_left); + list = g_list_append (list, priv->scrolled_window_contacts); + gtk_container_set_focus_chain (GTK_CONTAINER (priv->hpaned), list); + g_list_free (list); + + list = g_list_append (NULL, priv->hpaned); + list = g_list_append (list, priv->hbox_topic); + gtk_container_set_focus_chain (GTK_CONTAINER (priv->widget), list); + g_list_free (list); +} + +static void +group_chat_widget_destroy_cb (GtkWidget *widget, + GossipGroupChat *chat) +{ + gossip_debug (DEBUG_DOMAIN, "Destroyed"); + + g_object_unref (chat); +} + +static void +group_chat_contact_added_cb (EmpathyTpChatroom *tp_chat, + GossipContact *contact, + GossipGroupChat *chat) +{ + GossipGroupChatPriv *priv; + gchar *str; + + priv = GET_PRIV (chat); + + str = g_strdup_printf (_("%s has joined the room"), + gossip_contact_get_name (contact)); + gossip_chat_view_append_event (GOSSIP_CHAT (chat)->view, str); + g_free (str); +} + +static void +group_chat_contact_removed_cb (EmpathyTpChatroom *tp_chat, + GossipContact *contact, + GossipGroupChat *chat) +{ + GossipGroupChatPriv *priv; + gchar *str; + + priv = GET_PRIV (chat); + + str = g_strdup_printf (_("%s has left the room"), + gossip_contact_get_name (contact)); + gossip_chat_view_append_event (GOSSIP_CHAT (chat)->view, str); + g_free (str); +} +/* +static void +group_chat_topic_changed_cb (EmpathyTpChatroom *tp_chat, + const gchar *new_topic, + GossipGroupChat *chat) +{ + GossipGroupChatPriv *priv; + gchar *str; + + priv = GET_PRIV (chat); + + gossip_debug (DEBUG_DOMAIN, "Topic changed by to:'%s'", new_topic); + + g_free (priv->topic); + priv->topic = g_strdup (new_topic); + + gtk_label_set_text (GTK_LABEL (priv->label_topic), new_topic); + + str = g_strdup_printf (_("Topic set to: %s"), new_topic); + gossip_chat_view_append_event (GOSSIP_CHAT (chat)->view, str); + g_free (str); +} +*/ +static void +group_chat_topic_entry_activate_cb (GtkWidget *entry, + GtkDialog *dialog) +{ + gtk_dialog_response (dialog, GTK_RESPONSE_OK); +} + +static void +group_chat_topic_response_cb (GtkWidget *dialog, + gint response, + GossipGroupChat *chat) +{ + if (response == GTK_RESPONSE_OK) { + GtkWidget *entry; + const gchar *topic; + + entry = g_object_get_data (G_OBJECT (dialog), "entry"); + topic = gtk_entry_get_text (GTK_ENTRY (entry)); + + if (!G_STR_EMPTY (topic)) { + GossipGroupChatPriv *priv; + + priv = GET_PRIV (chat); + + empathy_tp_chatroom_set_topic (priv->tp_chat, topic); + } + } + + gtk_widget_destroy (dialog); +} + +static const gchar * +group_chat_get_name (GossipChat *chat) +{ + GossipGroupChat *group_chat; + GossipGroupChatPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_GROUP_CHAT (chat), NULL); + + group_chat = GOSSIP_GROUP_CHAT (chat); + priv = GET_PRIV (group_chat); + + return priv->name; +} + +static gchar * +group_chat_get_tooltip (GossipChat *chat) +{ + GossipGroupChat *group_chat; + GossipGroupChatPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_GROUP_CHAT (chat), NULL); + + group_chat = GOSSIP_GROUP_CHAT (chat); + priv = GET_PRIV (group_chat); + + if (priv->topic) { + gchar *topic, *tmp; + + topic = g_strdup_printf (_("Topic: %s"), priv->topic); + tmp = g_strdup_printf ("%s\n%s", priv->name, topic); + g_free (topic); + + return tmp; + } + + return g_strdup (priv->name); +} + +static const gchar * +group_chat_get_status_icon_name (GossipChat *chat) +{ + return EMPATHY_IMAGE_GROUP_MESSAGE; +} + +static GtkWidget * +group_chat_get_widget (GossipChat *chat) +{ + GossipGroupChat *group_chat; + GossipGroupChatPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_GROUP_CHAT (chat), NULL); + + group_chat = GOSSIP_GROUP_CHAT (chat); + priv = GET_PRIV (group_chat); + + return priv->widget; +} + +static gboolean +group_chat_is_group_chat (GossipChat *chat) +{ + g_return_val_if_fail (GOSSIP_IS_GROUP_CHAT (chat), FALSE); + + return TRUE; +} +#if 0 +static gboolean +group_chat_key_press_event (GtkWidget *widget, + GdkEventKey *event, + GossipGroupChat *chat) +{ + GossipGroupChatPriv *priv; + GtkAdjustment *adj; + gdouble val; + GtkTextBuffer *buffer; + GtkTextIter start, current; + gchar *nick, *completed; + gint len; + GList *list, *l, *completed_list; + gboolean is_start_of_buffer; + + priv = GET_PRIV (chat); + + if ((event->state & GDK_CONTROL_MASK) != GDK_CONTROL_MASK && + (event->state & GDK_SHIFT_MASK) != GDK_SHIFT_MASK && + event->keyval == GDK_Tab) { + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (GOSSIP_CHAT (chat)->input_text_view)); + gtk_text_buffer_get_iter_at_mark (buffer, ¤t, gtk_text_buffer_get_insert (buffer)); + + /* Get the start of the nick to complete. */ + gtk_text_buffer_get_iter_at_mark (buffer, &start, gtk_text_buffer_get_insert (buffer)); + gtk_text_iter_backward_word_start (&start); + is_start_of_buffer = gtk_text_iter_is_start (&start); + + nick = gtk_text_buffer_get_text (buffer, &start, ¤t, FALSE); + + g_completion_clear_items (priv->completion); + + len = strlen (nick); + + list = group_chat_get_nick_list (chat); + + g_completion_add_items (priv->completion, list); + + completed_list = g_completion_complete (priv->completion, + nick, + &completed); + + g_free (nick); + + if (completed) { + int len; + gchar *text; + + gtk_text_buffer_delete (buffer, &start, ¤t); + + len = g_list_length (completed_list); + + if (len == 1) { + /* If we only have one hit, use that text + * instead of the text in completed since the + * completed text will use the typed string + * which might be cased all wrong. + * Fixes #120876 + * */ + text = (gchar *) completed_list->data; + } else { + text = completed; + } + + gtk_text_buffer_insert_at_cursor (buffer, text, strlen (text)); + + if (len == 1) { + if (is_start_of_buffer) { + gtk_text_buffer_insert_at_cursor (buffer, ", ", 2); + } + } + + g_free (completed); + } + + g_completion_clear_items (priv->completion); + + for (l = list; l; l = l->next) { + g_free (l->data); + } + + g_list_free (list); + + return TRUE; + } + + return FALSE; +} +#endif + +static gint +group_chat_contacts_completion_func (const gchar *s1, + const gchar *s2, + gsize n) +{ + gchar *tmp, *nick1, *nick2; + gint ret; + + tmp = g_utf8_normalize (s1, -1, G_NORMALIZE_DEFAULT); + nick1 = g_utf8_casefold (tmp, -1); + g_free (tmp); + + tmp = g_utf8_normalize (s2, -1, G_NORMALIZE_DEFAULT); + nick2 = g_utf8_casefold (tmp, -1); + g_free (tmp); + + ret = strncmp (nick1, nick2, n); + + g_free (nick1); + g_free (nick2); + + return ret; +} + diff --git a/trunk/libempathy-gtk/gossip-group-chat.glade b/trunk/libempathy-gtk/gossip-group-chat.glade new file mode 100644 index 000000000..7b6f2c00f --- /dev/null +++ b/trunk/libempathy-gtk/gossip-group-chat.glade @@ -0,0 +1,183 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkWindow" id="group_chat_window"> + <property name="border_width">6</property> + <property name="title" translatable="yes">Group Chat</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">600</property> + <property name="default_height">400</property> + <property name="resizable">True</property> + <property name="destroy_with_parent">False</property> + <property name="icon">gossip-group-message.png</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="GtkVBox" id="group_chat_widget"> + <property name="border_width">4</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkHBox" id="hbox_topic"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkLabel" id="label80"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Topic:</b></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</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="GtkLabel" id="label_topic"> + <property name="visible">True</property> + <property name="can_focus">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">True</property> + <property name="selectable">True</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">True</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> + <packing> + <property name="padding">2</property> + <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> + + <child> + <widget class="GtkVBox" id="vbox_left"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkScrolledWindow" id="scrolled_window_chat"> + <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_ALWAYS</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="scrolled_window_input"> + <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="shrink">True</property> + <property name="resize">True</property> + </packing> + </child> + + <child> + <widget class="GtkScrolledWindow" id="scrolled_window_contacts"> + <property name="width_request">0</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_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="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> + </widget> + </child> +</widget> + +</glade-interface> diff --git a/trunk/libempathy-gtk/gossip-group-chat.h b/trunk/libempathy-gtk/gossip-group-chat.h new file mode 100644 index 000000000..37a7772bb --- /dev/null +++ b/trunk/libempathy-gtk/gossip-group-chat.h @@ -0,0 +1,69 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2002-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_GROUP_CHAT_H__ +#define __GOSSIP_GROUP_CHAT_H__ + +G_BEGIN_DECLS + +#include <libtelepathy/tp-chan.h> + +#include <libmissioncontrol/mc-account.h> + +#define GOSSIP_TYPE_GROUP_CHAT (gossip_group_chat_get_type ()) +#define GOSSIP_GROUP_CHAT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_GROUP_CHAT, GossipGroupChat)) +#define GOSSIP_GROUP_CHAT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOSSIP_TYPE_GROUP_CHAT, GossipGroupChatClass)) +#define GOSSIP_IS_GROUP_CHAT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_GROUP_CHAT)) +#define GOSSIP_IS_GROUP_CHAT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_GROUP_CHAT)) +#define GOSSIP_GROUP_CHAT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_GROUP_CHAT, GossipGroupChatClass)) + +typedef struct _GossipGroupChat GossipGroupChat; +typedef struct _GossipGroupChatClass GossipGroupChatClass; +typedef struct _GossipGroupChatPriv GossipGroupChatPriv; + +#include "gossip-chat.h" + +struct _GossipGroupChat { + GossipChat parent; + + GossipGroupChatPriv *priv; +}; + +struct _GossipGroupChatClass { + GossipChatClass parent_class; +}; + +GType gossip_group_chat_get_type (void) G_GNUC_CONST; +GossipGroupChat *gossip_group_chat_new (McAccount *account, + TpChan *tp_chan); +gboolean gossip_group_chat_get_show_contacts (GossipGroupChat *chat); +void gossip_group_chat_set_show_contacts (GossipGroupChat *chat, + gboolean show); +void gossip_group_chat_set_topic (GossipGroupChat *chat); + +G_END_DECLS + +#endif /* __GOSSIP_GROUP_CHAT_H__ */ diff --git a/trunk/libempathy-gtk/gossip-new-chatroom-dialog.c b/trunk/libempathy-gtk/gossip-new-chatroom-dialog.c new file mode 100644 index 000000000..81594f1d1 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-new-chatroom-dialog.c @@ -0,0 +1,690 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include <string.h> +#include <stdio.h> + +#include <gtk/gtk.h> +#include <glade/glade.h> +#include <glib.h> +#include <glib/gi18n.h> + +#include <libmissioncontrol/mission-control.h> +#include <libmissioncontrol/mc-account.h> +#include <libmissioncontrol/mc-profile.h> + +#include <libempathy/gossip-utils.h> +#include <libempathy/gossip-debug.h> + +#include "gossip-new-chatroom-dialog.h" +#include "gossip-account-chooser.h" +//#include "gossip-chatrooms-window.h" +#include "gossip-ui-utils.h" +#include "ephy-spinner.h" + +#define DEBUG_DOMAIN "NewChatroomDialog" + +typedef struct { + GtkWidget *window; + + GtkWidget *vbox_widgets; + + GtkWidget *hbox_account; + GtkWidget *label_account; + GtkWidget *account_chooser; + + GtkWidget *hbox_server; + GtkWidget *label_server; + GtkWidget *entry_server; + GtkWidget *togglebutton_refresh; + + GtkWidget *hbox_room; + GtkWidget *label_room; + GtkWidget *entry_room; + + GtkWidget *hbox_nick; + GtkWidget *label_nick; + GtkWidget *entry_nick; + + GtkWidget *vbox_browse; + GtkWidget *image_status; + GtkWidget *label_status; + GtkWidget *hbox_status; + GtkWidget *throbber; + GtkWidget *treeview; + GtkTreeModel *model; + GtkTreeModel *filter; + + GtkWidget *button_join; + GtkWidget *button_close; +} GossipNewChatroomDialog; + +typedef struct { + guint handle; + gchar *channel_type; + gchar *name; + gchar *id; +} EmpathyRoomListItem; + +enum { + COL_IMAGE, + COL_NAME, + COL_POINTER, + COL_COUNT +}; + +static void new_chatroom_dialog_response_cb (GtkWidget *widget, + gint response, + GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_destroy_cb (GtkWidget *widget, + GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_model_setup (GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_model_add_columns (GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_update_buttons (GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_update_widgets (GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_account_changed_cb (GtkComboBox *combobox, + GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_model_add (GossipNewChatroomDialog *dialog, + EmpathyRoomListItem *item); +static void new_chatroom_dialog_model_clear (GossipNewChatroomDialog *dialog); +static GList * new_chatroom_dialog_model_get_selected (GossipNewChatroomDialog *dialog); +static gboolean new_chatroom_dialog_model_filter_func (GtkTreeModel *model, + GtkTreeIter *iter, + GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_model_row_activated_cb (GtkTreeView *tree_view, + GtkTreePath *path, + GtkTreeViewColumn *column, + GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_model_row_inserted_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_model_row_deleted_cb (GtkTreeModel *model, + GtkTreePath *path, + GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_model_selection_changed (GtkTreeSelection *selection, + GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_join (GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_entry_changed_cb (GtkWidget *entry, + GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_browse_start (GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_browse_stop (GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_entry_server_activate_cb (GtkWidget *widget, + GossipNewChatroomDialog *dialog); +static void new_chatroom_dialog_togglebutton_refresh_toggled_cb (GtkWidget *widget, + GossipNewChatroomDialog *dialog); + +static GossipNewChatroomDialog *dialog_p = NULL; + +void +gossip_new_chatroom_dialog_show (GtkWindow *parent) +{ + GossipNewChatroomDialog *dialog; + GladeXML *glade; + GList *accounts; + gint account_num; + GtkSizeGroup *size_group; + + if (dialog_p) { + gtk_window_present (GTK_WINDOW (dialog_p->window)); + return; + } + + dialog_p = dialog = g_new0 (GossipNewChatroomDialog, 1); + + glade = gossip_glade_get_file ("gossip-new-chatroom-dialog.glade", + "new_chatroom_dialog", + NULL, + "new_chatroom_dialog", &dialog->window, + "hbox_account", &dialog->hbox_account, + "label_account", &dialog->label_account, + "vbox_widgets", &dialog->vbox_widgets, + "label_server", &dialog->label_server, + "label_room", &dialog->label_room, + "label_nick", &dialog->label_nick, + "hbox_server", &dialog->hbox_server, + "hbox_room", &dialog->hbox_room, + "hbox_nick", &dialog->hbox_nick, + "entry_server", &dialog->entry_server, + "entry_room", &dialog->entry_room, + "entry_nick", &dialog->entry_nick, + "togglebutton_refresh", &dialog->togglebutton_refresh, + "vbox_browse", &dialog->vbox_browse, + "image_status", &dialog->image_status, + "label_status", &dialog->label_status, + "hbox_status", &dialog->hbox_status, + "treeview", &dialog->treeview, + "button_join", &dialog->button_join, + NULL); + + gossip_glade_connect (glade, + dialog, + "new_chatroom_dialog", "response", new_chatroom_dialog_response_cb, + "new_chatroom_dialog", "destroy", new_chatroom_dialog_destroy_cb, + "entry_nick", "changed", new_chatroom_dialog_entry_changed_cb, + "entry_server", "changed", new_chatroom_dialog_entry_changed_cb, + "entry_server", "activate", new_chatroom_dialog_entry_server_activate_cb, + "entry_room", "changed", new_chatroom_dialog_entry_changed_cb, + "togglebutton_refresh", "toggled", new_chatroom_dialog_togglebutton_refresh_toggled_cb, + NULL); + + g_object_unref (glade); + + g_object_add_weak_pointer (G_OBJECT (dialog->window), (gpointer) &dialog_p); + + /* Label alignment */ + size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); + + gtk_size_group_add_widget (size_group, dialog->label_account); + gtk_size_group_add_widget (size_group, dialog->label_server); + gtk_size_group_add_widget (size_group, dialog->label_room); + gtk_size_group_add_widget (size_group, dialog->label_nick); + + g_object_unref (size_group); + + /* Account chooser for custom */ + dialog->account_chooser = gossip_account_chooser_new (); + gtk_box_pack_start (GTK_BOX (dialog->hbox_account), + dialog->account_chooser, + TRUE, TRUE, 0); + gtk_widget_show (dialog->account_chooser); + + g_signal_connect (GTK_COMBO_BOX (dialog->account_chooser), "changed", + G_CALLBACK (new_chatroom_dialog_account_changed_cb), + dialog); + + /* Populate */ + accounts = mc_accounts_list (); + account_num = g_list_length (accounts); + + g_list_foreach (accounts, (GFunc) g_object_unref, NULL); + g_list_free (accounts); + + if (account_num > 1) { + gtk_widget_show (dialog->hbox_account); + } else { + /* Show no accounts combo box */ + gtk_widget_hide (dialog->hbox_account); + } + + /* Add throbber */ + dialog->throbber = ephy_spinner_new (); + ephy_spinner_set_size (EPHY_SPINNER (dialog->throbber), GTK_ICON_SIZE_LARGE_TOOLBAR); + gtk_widget_show (dialog->throbber); + + gtk_box_pack_start (GTK_BOX (dialog->hbox_status), dialog->throbber, + FALSE, FALSE, 0); + + /* Set up chatrooms treeview */ + new_chatroom_dialog_model_setup (dialog); + + /* Set things up according to the account type */ + new_chatroom_dialog_update_widgets (dialog); + + if (parent) { + gtk_window_set_transient_for (GTK_WINDOW (dialog->window), + GTK_WINDOW (parent)); + } + + gtk_widget_show (dialog->window); +} + +static void +new_chatroom_dialog_response_cb (GtkWidget *widget, + gint response, + GossipNewChatroomDialog *dialog) +{ + if (response == GTK_RESPONSE_OK) { + new_chatroom_dialog_join (dialog); + } + + gtk_widget_destroy (widget); +} + +static void +new_chatroom_dialog_destroy_cb (GtkWidget *widget, + GossipNewChatroomDialog *dialog) +{ + g_object_unref (dialog->model); + g_object_unref (dialog->filter); + + g_free (dialog); +} + +static void +new_chatroom_dialog_model_setup (GossipNewChatroomDialog *dialog) +{ + GtkTreeView *view; + GtkListStore *store; + GtkTreeSelection *selection; + + /* View */ + view = GTK_TREE_VIEW (dialog->treeview); + + g_signal_connect (view, "row-activated", + G_CALLBACK (new_chatroom_dialog_model_row_activated_cb), + dialog); + + /* Store/Model */ + store = gtk_list_store_new (COL_COUNT, + G_TYPE_STRING, /* Image */ + G_TYPE_STRING, /* Text */ + G_TYPE_POINTER); /* infos */ + + dialog->model = GTK_TREE_MODEL (store); + + /* Filter */ + dialog->filter = gtk_tree_model_filter_new (dialog->model, NULL); + + gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (dialog->filter), + (GtkTreeModelFilterVisibleFunc) + new_chatroom_dialog_model_filter_func, + dialog, + NULL); + + gtk_tree_view_set_model (view, dialog->filter); + + g_signal_connect (dialog->filter, "row-inserted", + G_CALLBACK (new_chatroom_dialog_model_row_inserted_cb), + dialog); + g_signal_connect (dialog->filter, "row-deleted", + G_CALLBACK (new_chatroom_dialog_model_row_deleted_cb), + dialog); + + /* Selection */ + selection = gtk_tree_view_get_selection (view); + gtk_tree_selection_set_mode (selection, GTK_SELECTION_MULTIPLE); + gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), + COL_NAME, GTK_SORT_ASCENDING); + + g_signal_connect (selection, "changed", + G_CALLBACK (new_chatroom_dialog_model_selection_changed), dialog); + + /* Columns */ + new_chatroom_dialog_model_add_columns (dialog); +} + +static void +new_chatroom_dialog_model_add_columns (GossipNewChatroomDialog *dialog) +{ + GtkTreeView *view; + GtkTreeViewColumn *column; + GtkCellRenderer *cell; + + view = GTK_TREE_VIEW (dialog->treeview); + gtk_tree_view_set_headers_visible (view, FALSE); + + /* Chatroom pointer */ + column = gtk_tree_view_column_new (); + gtk_tree_view_column_set_title (column, _("Chat Rooms")); + + cell = gtk_cell_renderer_pixbuf_new (); + gtk_tree_view_column_pack_start (column, cell, FALSE); + + cell = gtk_cell_renderer_text_new (); + g_object_set (cell, + "xpad", (guint) 4, + "ypad", (guint) 1, + "ellipsize", PANGO_ELLIPSIZE_END, + NULL); + + gtk_tree_view_column_pack_start (column, cell, TRUE); + + gtk_tree_view_column_set_expand (column, TRUE); + gtk_tree_view_append_column (view, column); +} + +static void +new_chatroom_dialog_update_buttons (GossipNewChatroomDialog *dialog) +{ + GtkButton *button; + GtkWidget *image; + GtkTreeView *view; + GtkTreeModel *model; + guint items; + const gchar *room; + + /* Sort out Join button. */ + button = GTK_BUTTON (dialog->button_join); + + image = gtk_button_get_image (button); + if (!image) { + image = gtk_image_new (); + gtk_button_set_image (button, image); + } + //gtk_button_set_use_stock (button, FALSE); + + room = gtk_entry_get_text (GTK_ENTRY (dialog->entry_room)); + + /* Collect necessary information first. */ + view = GTK_TREE_VIEW (dialog->treeview); + model = gtk_tree_view_get_model (view); + items = gtk_tree_model_iter_n_children (model, NULL); + + if (items < 1 && !G_STR_EMPTY (room)) { + gtk_button_set_label (button, _("Create")); + gtk_image_set_from_stock (GTK_IMAGE (image), + GTK_STOCK_NEW, + GTK_ICON_SIZE_BUTTON); + } else { + gtk_button_set_label (button, _("Join")); + gtk_image_set_from_stock (GTK_IMAGE (image), + GTK_STOCK_EXECUTE, + GTK_ICON_SIZE_BUTTON); + } + + gtk_widget_set_sensitive (dialog->button_join, !G_STR_EMPTY (room)); +} + +static void +new_chatroom_dialog_update_widgets (GossipNewChatroomDialog *dialog) +{ + GossipAccountChooser *account_chooser; + McAccount *account; + McProfile *profile; + const gchar *protocol; + + account_chooser = GOSSIP_ACCOUNT_CHOOSER (dialog->account_chooser); + account = gossip_account_chooser_get_account (account_chooser); + profile = mc_account_get_profile (account); + protocol = mc_profile_get_protocol_name (profile); + + /* hardcode here known protocols */ + if (strcmp (protocol, "jabber") == 0) { + const gchar *server; + + server = mc_profile_get_default_account_domain (profile); + if (server) { + gchar *conference_server; + + conference_server = g_strconcat ("conference.", + server, NULL); + gtk_entry_set_text (GTK_ENTRY (dialog->entry_server), + conference_server); + g_free (conference_server); + } + + gtk_widget_show (dialog->hbox_server); + gtk_widget_show (dialog->hbox_nick); + gtk_widget_show (dialog->vbox_browse); + + } + else if (strcmp (protocol, "salut") == 0) { + gtk_widget_hide (dialog->hbox_server); + gtk_widget_show (dialog->hbox_nick); + gtk_widget_show (dialog->vbox_browse); + } + else if (strcmp (protocol, "irc") == 0) { + gtk_widget_hide (dialog->hbox_server); + gtk_widget_hide (dialog->hbox_nick); + gtk_widget_show (dialog->vbox_browse); + } else { + gtk_widget_hide (dialog->hbox_server); + gtk_widget_hide (dialog->hbox_nick); + gtk_widget_hide (dialog->vbox_browse); + } + + new_chatroom_dialog_update_buttons (dialog); + + /* Final set up of the dialog */ + gtk_widget_grab_focus (dialog->entry_room); + + g_object_unref (account); + g_object_unref (profile); +} + +static void +new_chatroom_dialog_account_changed_cb (GtkComboBox *combobox, + GossipNewChatroomDialog *dialog) +{ + new_chatroom_dialog_update_widgets (dialog); +} + +static void +new_chatroom_dialog_model_add (GossipNewChatroomDialog *dialog, + EmpathyRoomListItem *item) +{ + GtkTreeView *view; + GtkTreeSelection *selection; + GtkListStore *store; + GtkTreeIter iter; + + /* Add to model */ + view = GTK_TREE_VIEW (dialog->treeview); + selection = gtk_tree_view_get_selection (view); + store = GTK_LIST_STORE (dialog->model); + + gtk_list_store_append (store, &iter); + + gtk_list_store_set (store, &iter, + COL_NAME, item->name, + COL_POINTER, item, + -1); +} + +static void +new_chatroom_dialog_model_clear (GossipNewChatroomDialog *dialog) +{ + GtkListStore *store; + + store = GTK_LIST_STORE (dialog->model); + gtk_list_store_clear (store); +} + +static GList * +new_chatroom_dialog_model_get_selected (GossipNewChatroomDialog *dialog) +{ + GtkTreeView *view; + GtkTreeModel *model; + GtkTreeSelection *selection; + GList *rows, *l; + GList *chatrooms = NULL; + + view = GTK_TREE_VIEW (dialog->treeview); + selection = gtk_tree_view_get_selection (view); + model = gtk_tree_view_get_model (view); + + rows = gtk_tree_selection_get_selected_rows (selection, NULL); + for (l = rows; l; l = l->next) { + GtkTreeIter iter; + EmpathyRoomListItem *chatroom; + + if (!gtk_tree_model_get_iter (model, &iter, l->data)) { + continue; + } + + gtk_tree_model_get (model, &iter, COL_POINTER, &chatroom, -1); + chatrooms = g_list_append (chatrooms, chatroom); + } + + g_list_foreach (rows, (GFunc) gtk_tree_path_free, NULL); + g_list_free (rows); + + return chatrooms; +} + +static gboolean +new_chatroom_dialog_model_filter_func (GtkTreeModel *model, + GtkTreeIter *iter, + GossipNewChatroomDialog *dialog) +{ + EmpathyRoomListItem *chatroom; + const gchar *text; + gchar *room_nocase; + gchar *text_nocase; + gboolean found = FALSE; + + gtk_tree_model_get (model, iter, COL_POINTER, &chatroom, -1); + + if (!chatroom) { + return TRUE; + } + + text = gtk_entry_get_text (GTK_ENTRY (dialog->entry_room)); + + /* Casefold */ + room_nocase = g_utf8_casefold (chatroom->id, -1); + text_nocase = g_utf8_casefold (text, -1); + + /* Compare */ + if (g_utf8_strlen (text_nocase, -1) < 1 || + strstr (room_nocase, text_nocase)) { + found = TRUE; + } + + g_free (room_nocase); + g_free (text_nocase); + + return found; +} + +static void +new_chatroom_dialog_model_row_activated_cb (GtkTreeView *tree_view, + GtkTreePath *path, + GtkTreeViewColumn *column, + GossipNewChatroomDialog *dialog) +{ + gtk_widget_activate (dialog->button_join); +} + +static void +new_chatroom_dialog_model_row_inserted_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GossipNewChatroomDialog *dialog) +{ + new_chatroom_dialog_update_buttons (dialog); +} + +static void +new_chatroom_dialog_model_row_deleted_cb (GtkTreeModel *model, + GtkTreePath *path, + GossipNewChatroomDialog *dialog) +{ + new_chatroom_dialog_update_buttons (dialog); +} + +static void +new_chatroom_dialog_model_selection_changed (GtkTreeSelection *selection, + GossipNewChatroomDialog *dialog) +{ + new_chatroom_dialog_update_buttons (dialog); +} + +static void +new_chatroom_dialog_join (GossipNewChatroomDialog *dialog) +{ + McAccount *account; + GossipAccountChooser *account_chooser; + MissionControl *mc; + GList *chatrooms, *l; + const gchar *room; + const gchar *server = NULL; + gchar *room_name = NULL; + + chatrooms = new_chatroom_dialog_model_get_selected (dialog); + if (chatrooms) { + for (l = chatrooms; l; l = l->next) { + /* Join it */ + } + g_list_free (chatrooms); + return; + } + + room = gtk_entry_get_text (GTK_ENTRY (dialog->entry_room)); + if (GTK_WIDGET_VISIBLE (dialog->hbox_server)) { + server = gtk_entry_get_text (GTK_ENTRY (dialog->entry_server)); + } + account_chooser = GOSSIP_ACCOUNT_CHOOSER (dialog->account_chooser); + account = gossip_account_chooser_get_account (account_chooser); + + if (!G_STR_EMPTY (server)) { + room_name = g_strconcat (room, "@", server, NULL); + } else { + room_name = g_strdup (room); + } + + gossip_debug (DEBUG_DOMAIN, "Requesting channel for '%s'", room_name); + + mc = gossip_mission_control_new (); + mission_control_request_channel_with_string_handle (mc, + account, + TP_IFACE_CHANNEL_TYPE_TEXT, + room_name, + TP_HANDLE_TYPE_ROOM, + NULL, NULL); + g_free (room_name); + g_object_unref (mc); +} + +static void +new_chatroom_dialog_entry_changed_cb (GtkWidget *entry, + GossipNewChatroomDialog *dialog) +{ + if (entry == dialog->entry_room) { + gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (dialog->filter)); + } + + new_chatroom_dialog_update_buttons (dialog); +} + +static void +new_chatroom_dialog_browse_start (GossipNewChatroomDialog *dialog) +{ + if (0) { + new_chatroom_dialog_model_clear (dialog); + new_chatroom_dialog_model_add (dialog, NULL); + } +} + +static void +new_chatroom_dialog_browse_stop (GossipNewChatroomDialog *dialog) +{ +} + +static void +new_chatroom_dialog_entry_server_activate_cb (GtkWidget *widget, + GossipNewChatroomDialog *dialog) +{ + new_chatroom_dialog_togglebutton_refresh_toggled_cb (dialog->togglebutton_refresh, + dialog); +} + +static void +new_chatroom_dialog_togglebutton_refresh_toggled_cb (GtkWidget *widget, + GossipNewChatroomDialog *dialog) +{ + gboolean toggled; + + toggled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); + + if (toggled) { + new_chatroom_dialog_browse_start (dialog); + } else { + new_chatroom_dialog_browse_stop (dialog); + } +} + diff --git a/trunk/libempathy-gtk/gossip-new-chatroom-dialog.glade b/trunk/libempathy-gtk/gossip-new-chatroom-dialog.glade new file mode 100644 index 000000000..49bdadb64 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-new-chatroom-dialog.glade @@ -0,0 +1,519 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkDialog" id="new_chatroom_dialog"> + <property name="border_width">5</property> + <property name="visible">True</property> + <property name="title" translatable="yes">Join New</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">350</property> + <property name="resizable">False</property> + <property name="destroy_with_parent">False</property> + <property name="icon_name">gtk-new</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_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <property name="has_separator">False</property> + + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog-vbox4"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area4"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="button_cancel"> + <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> + <property name="response_id">-7</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="button_join"> + <property name="visible">True</property> + <property name="sensitive">False</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> + <property name="response_id">-5</property> + + <child> + <widget class="GtkAlignment" id="alignment4"> + <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="hbox29"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">2</property> + + <child> + <widget class="GtkImage" id="image4"> + <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="label79"> + <property name="visible">True</property> + <property name="label" translatable="yes">Join</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> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox_widgets"> + <property name="border_width">5</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">18</property> + + <child> + <widget class="GtkHBox" id="hbox_account"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label_account"> + <property name="visible">True</property> + <property name="label" translatable="yes">Account:</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">True</property> + </packing> + </child> + + <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="GtkVBox" id="vbox_browse"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkHBox" id="hbox_server"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label_server"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Server:</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">entry_server</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="GtkEntry" id="entry_server"> + <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> + <property name="width_chars">25</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkToggleButton" id="togglebutton_refresh"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Re_fresh</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> + </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> + + <child> + <widget class="GtkHBox" id="hbox_room"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label_room"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Room:</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">entry_room</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="GtkEntry" id="entry_room"> + <property name="visible">True</property> + <property name="tooltip" translatable="yes">Enter the room name to join here or click on one or more rooms in the list.</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> + <property name="width_chars">32</property> + </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> + + <child> + <widget class="GtkHBox" id="hbox_nick"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label_nick"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Nickname:</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">entry_nick</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="GtkEntry" id="entry_nick"> + <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> + </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="GtkVBox" id="vbox_browse"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkHBox" id="hbox_status"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkHBox" id="hbox35"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">3</property> + + <child> + <widget class="GtkImage" id="image_status"> + <property name="visible">True</property> + <property name="icon_size">2</property> + <property name="icon_name">gtk-find</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="label_status"> + <property name="visible">True</property> + <property name="label" translatable="yes">Browse:</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</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="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> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <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="scrolledwindow2"> + <property name="height_request">150</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_AUTOMATIC</property> + <property name="shadow_type">GTK_SHADOW_IN</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <widget class="GtkTreeView" id="treeview"> + <property name="visible">True</property> + <property name="tooltip" translatable="yes">This list represents all chat rooms hosted on the server you have entered.</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="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> + </widget> + </child> +</widget> + +</glade-interface> diff --git a/trunk/libempathy-gtk/gossip-new-chatroom-dialog.h b/trunk/libempathy-gtk/gossip-new-chatroom-dialog.h new file mode 100644 index 000000000..44b7ce67f --- /dev/null +++ b/trunk/libempathy-gtk/gossip-new-chatroom-dialog.h @@ -0,0 +1,34 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_NEW_CHATROOMS_WINDOW_H__ +#define __GOSSIP_NEW_CHATROOMS_WINDOW_H__ + +G_BEGIN_DECLS + +void gossip_new_chatroom_dialog_show (GtkWindow *parent); + +G_END_DECLS + +#endif /* __GOSSIP_NEW_CHATROOMS_WINDOW_H__ */ diff --git a/trunk/libempathy-gtk/gossip-preferences.c b/trunk/libempathy-gtk/gossip-preferences.c new file mode 100644 index 000000000..fd93353df --- /dev/null +++ b/trunk/libempathy-gtk/gossip-preferences.c @@ -0,0 +1,985 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2003-2007 Imendio AB + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + */ + +#include "config.h" + +#include <string.h> + +#include <gtk/gtk.h> +#include <glade/glade.h> +#include <glib/gi18n.h> + +#include <libempathy/gossip-conf.h> + +#include "gossip-preferences.h" +#include "gossip-ui-utils.h" +#include "gossip-theme-manager.h" +#include "gossip-spell.h" +#include "gossip-contact-list-store.h" + +typedef struct { + GtkWidget *dialog; + + GtkWidget *notebook; + + GtkWidget *checkbutton_show_avatars; + GtkWidget *checkbutton_compact_contact_list; + GtkWidget *checkbutton_show_smileys; + GtkWidget *combobox_chat_theme; + GtkWidget *checkbutton_theme_chat_room; + GtkWidget *checkbutton_separate_chat_windows; + GtkWidget *radiobutton_contact_list_sort_by_name; + GtkWidget *radiobutton_contact_list_sort_by_state; + + GtkWidget *checkbutton_sounds_for_messages; + GtkWidget *checkbutton_sounds_when_busy; + GtkWidget *checkbutton_sounds_when_away; + GtkWidget *checkbutton_popups_when_available; + + GtkWidget *treeview_spell_checker; + GtkWidget *checkbutton_spell_checker; + + GList *notify_ids; +} GossipPreferences; + +static void preferences_setup_widgets (GossipPreferences *preferences); +static void preferences_languages_setup (GossipPreferences *preferences); +static void preferences_languages_add (GossipPreferences *preferences); +static void preferences_languages_save (GossipPreferences *preferences); +static gboolean preferences_languages_save_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gchar **languages); +static void preferences_languages_load (GossipPreferences *preferences); +static gboolean preferences_languages_load_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gchar **languages); +static void preferences_languages_cell_toggled_cb (GtkCellRendererToggle *cell, + gchar *path_string, + GossipPreferences *preferences); +static void preferences_themes_setup (GossipPreferences *preferences); +static void preferences_widget_sync_bool (const gchar *key, + GtkWidget *widget); +static void preferences_widget_sync_int (const gchar *key, + GtkWidget *widget); +static void preferences_widget_sync_string (const gchar *key, + GtkWidget *widget); +static void preferences_widget_sync_string_combo (const gchar *key, + GtkWidget *widget); +static void preferences_notify_int_cb (GossipConf *conf, + const gchar *key, + gpointer user_data); +static void preferences_notify_string_cb (GossipConf *conf, + const gchar *key, + gpointer user_data); +static void preferences_notify_string_combo_cb (GossipConf *conf, + const gchar *key, + gpointer user_data); +static void preferences_notify_bool_cb (GossipConf *conf, + const gchar *key, + gpointer user_data); +static void preferences_notify_sensitivity_cb (GossipConf *conf, + const gchar *key, + gpointer user_data); +static void preferences_hookup_spin_button (GossipPreferences *preferences, + const gchar *key, + GtkWidget *widget); +static void preferences_hookup_entry (GossipPreferences *preferences, + const gchar *key, + GtkWidget *widget); +static void preferences_hookup_toggle_button (GossipPreferences *preferences, + const gchar *key, + GtkWidget *widget); +static void preferences_hookup_radio_button (GossipPreferences *preferences, + const gchar *key, + GtkWidget *widget); +static void preferences_hookup_string_combo (GossipPreferences *preferences, + const gchar *key, + GtkWidget *widget); +static void preferences_hookup_sensitivity (GossipPreferences *preferences, + const gchar *key, + GtkWidget *widget); +static void preferences_spin_button_value_changed_cb (GtkWidget *button, + gpointer user_data); +static void preferences_entry_value_changed_cb (GtkWidget *entry, + gpointer user_data); +static void preferences_toggle_button_toggled_cb (GtkWidget *button, + gpointer user_data); +static void preferences_radio_button_toggled_cb (GtkWidget *button, + gpointer user_data); +static void preferences_string_combo_changed_cb (GtkWidget *button, + gpointer user_data); +static void preferences_destroy_cb (GtkWidget *widget, + GossipPreferences *preferences); +static void preferences_response_cb (GtkWidget *widget, + gint response, + GossipPreferences *preferences); + +enum { + COL_LANG_ENABLED, + COL_LANG_CODE, + COL_LANG_NAME, + COL_LANG_COUNT +}; + +enum { + COL_COMBO_VISIBLE_NAME, + COL_COMBO_NAME, + COL_COMBO_COUNT +}; + +static void +preferences_setup_widgets (GossipPreferences *preferences) +{ + preferences_hookup_toggle_button (preferences, + GOSSIP_PREFS_SOUNDS_FOR_MESSAGES, + preferences->checkbutton_sounds_for_messages); + preferences_hookup_toggle_button (preferences, + GOSSIP_PREFS_SOUNDS_WHEN_AWAY, + preferences->checkbutton_sounds_when_away); + preferences_hookup_toggle_button (preferences, + GOSSIP_PREFS_SOUNDS_WHEN_BUSY, + preferences->checkbutton_sounds_when_busy); + preferences_hookup_toggle_button (preferences, + GOSSIP_PREFS_POPUPS_WHEN_AVAILABLE, + preferences->checkbutton_popups_when_available); + + preferences_hookup_sensitivity (preferences, + GOSSIP_PREFS_SOUNDS_FOR_MESSAGES, + preferences->checkbutton_sounds_when_away); + preferences_hookup_sensitivity (preferences, + GOSSIP_PREFS_SOUNDS_FOR_MESSAGES, + preferences->checkbutton_sounds_when_busy); + + preferences_hookup_toggle_button (preferences, + GOSSIP_PREFS_UI_SEPARATE_CHAT_WINDOWS, + preferences->checkbutton_separate_chat_windows); + + preferences_hookup_toggle_button (preferences, + GOSSIP_PREFS_UI_SHOW_AVATARS, + preferences->checkbutton_show_avatars); + + preferences_hookup_toggle_button (preferences, + GOSSIP_PREFS_UI_COMPACT_CONTACT_LIST, + preferences->checkbutton_compact_contact_list); + + preferences_hookup_toggle_button (preferences, + GOSSIP_PREFS_CHAT_SHOW_SMILEYS, + preferences->checkbutton_show_smileys); + + preferences_hookup_string_combo (preferences, + GOSSIP_PREFS_CHAT_THEME, + preferences->combobox_chat_theme); + + preferences_hookup_toggle_button (preferences, + GOSSIP_PREFS_CHAT_THEME_CHAT_ROOM, + preferences->checkbutton_theme_chat_room); + + preferences_hookup_toggle_button (preferences, + GOSSIP_PREFS_CHAT_SPELL_CHECKER_ENABLED, + preferences->checkbutton_spell_checker); + preferences_hookup_sensitivity (preferences, + GOSSIP_PREFS_CHAT_SPELL_CHECKER_ENABLED, + preferences->treeview_spell_checker); + + preferences_hookup_radio_button (preferences, + GOSSIP_PREFS_CONTACTS_SORT_CRITERIUM, + preferences->radiobutton_contact_list_sort_by_name); +} + +static void +preferences_languages_setup (GossipPreferences *preferences) +{ + GtkTreeView *view; + GtkListStore *store; + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkTreeViewColumn *column; + GtkCellRenderer *renderer; + guint col_offset; + + view = GTK_TREE_VIEW (preferences->treeview_spell_checker); + + store = gtk_list_store_new (COL_LANG_COUNT, + G_TYPE_BOOLEAN, /* enabled */ + G_TYPE_STRING, /* code */ + G_TYPE_STRING); /* name */ + + gtk_tree_view_set_model (view, GTK_TREE_MODEL (store)); + + selection = gtk_tree_view_get_selection (view); + gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); + + model = GTK_TREE_MODEL (store); + + renderer = gtk_cell_renderer_toggle_new (); + g_signal_connect (renderer, "toggled", + G_CALLBACK (preferences_languages_cell_toggled_cb), + preferences); + + column = gtk_tree_view_column_new_with_attributes (NULL, renderer, + "active", COL_LANG_ENABLED, + NULL); + + gtk_tree_view_append_column (view, column); + + renderer = gtk_cell_renderer_text_new (); + col_offset = gtk_tree_view_insert_column_with_attributes (view, + -1, _("Language"), + renderer, + "text", COL_LANG_NAME, + NULL); + + g_object_set_data (G_OBJECT (renderer), + "column", GINT_TO_POINTER (COL_LANG_NAME)); + + column = gtk_tree_view_get_column (view, col_offset - 1); + gtk_tree_view_column_set_sort_column_id (column, COL_LANG_NAME); + gtk_tree_view_column_set_resizable (column, FALSE); + gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE); + + g_object_unref (store); +} + +static void +preferences_languages_add (GossipPreferences *preferences) +{ + GtkTreeView *view; + GtkListStore *store; + GList *codes, *l; + + view = GTK_TREE_VIEW (preferences->treeview_spell_checker); + store = GTK_LIST_STORE (gtk_tree_view_get_model (view)); + + codes = gossip_spell_get_language_codes (); + for (l = codes; l; l = l->next) { + GtkTreeIter iter; + const gchar *code; + const gchar *name; + + code = l->data; + name = gossip_spell_get_language_name (code); + if (!name) { + continue; + } + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + COL_LANG_CODE, code, + COL_LANG_NAME, name, + -1); + } + + gossip_spell_free_language_codes (codes); +} + +static void +preferences_languages_save (GossipPreferences *preferences) +{ + GtkTreeView *view; + GtkTreeModel *model; + + gchar *languages = NULL; + + view = GTK_TREE_VIEW (preferences->treeview_spell_checker); + model = gtk_tree_view_get_model (view); + + gtk_tree_model_foreach (model, + (GtkTreeModelForeachFunc) preferences_languages_save_foreach, + &languages); + + if (!languages) { + /* Default to english */ + languages = g_strdup ("en"); + } + + gossip_conf_set_string (gossip_conf_get (), + GOSSIP_PREFS_CHAT_SPELL_CHECKER_LANGUAGES, + languages); + + g_free (languages); +} + +static gboolean +preferences_languages_save_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gchar **languages) +{ + gboolean enabled; + gchar *code; + + if (!languages) { + return TRUE; + } + + gtk_tree_model_get (model, iter, COL_LANG_ENABLED, &enabled, -1); + if (!enabled) { + return FALSE; + } + + gtk_tree_model_get (model, iter, COL_LANG_CODE, &code, -1); + if (!code) { + return FALSE; + } + + if (!(*languages)) { + *languages = g_strdup (code); + } else { + gchar *str = *languages; + *languages = g_strdup_printf ("%s,%s", str, code); + g_free (str); + } + + g_free (code); + + return FALSE; +} + +static void +preferences_languages_load (GossipPreferences *preferences) +{ + GtkTreeView *view; + GtkTreeModel *model; + gchar *value; + gchar **vlanguages; + + if (!gossip_conf_get_string (gossip_conf_get (), + GOSSIP_PREFS_CHAT_SPELL_CHECKER_LANGUAGES, + &value) || !value) { + return; + } + + vlanguages = g_strsplit (value, ",", -1); + g_free (value); + + view = GTK_TREE_VIEW (preferences->treeview_spell_checker); + model = gtk_tree_view_get_model (view); + + gtk_tree_model_foreach (model, + (GtkTreeModelForeachFunc) preferences_languages_load_foreach, + vlanguages); + + g_strfreev (vlanguages); +} + +static gboolean +preferences_languages_load_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gchar **languages) +{ + gchar *code; + gchar *lang; + gint i; + gboolean found = FALSE; + + if (!languages) { + return TRUE; + } + + gtk_tree_model_get (model, iter, COL_LANG_CODE, &code, -1); + if (!code) { + return FALSE; + } + + for (i = 0, lang = languages[i]; lang; lang = languages[++i]) { + if (strcmp (lang, code) == 0) { + found = TRUE; + } + } + + gtk_list_store_set (GTK_LIST_STORE (model), iter, COL_LANG_ENABLED, found, -1); + return FALSE; +} + +static void +preferences_languages_cell_toggled_cb (GtkCellRendererToggle *cell, + gchar *path_string, + GossipPreferences *preferences) +{ + GtkTreeView *view; + GtkTreeModel *model; + GtkListStore *store; + GtkTreePath *path; + GtkTreeIter iter; + gboolean enabled; + + view = GTK_TREE_VIEW (preferences->treeview_spell_checker); + model = gtk_tree_view_get_model (view); + store = GTK_LIST_STORE (model); + + path = gtk_tree_path_new_from_string (path_string); + + gtk_tree_model_get_iter (model, &iter, path); + gtk_tree_model_get (model, &iter, COL_LANG_ENABLED, &enabled, -1); + + enabled ^= 1; + + gtk_list_store_set (store, &iter, COL_LANG_ENABLED, enabled, -1); + gtk_tree_path_free (path); + + preferences_languages_save (preferences); +} + +static void +preferences_themes_setup (GossipPreferences *preferences) +{ + GtkComboBox *combo; + GtkListStore *model; + GtkTreeIter iter; + const gchar **themes; + gint i; + + combo = GTK_COMBO_BOX (preferences->combobox_chat_theme); + + model = gtk_list_store_new (COL_COMBO_COUNT, + G_TYPE_STRING, + G_TYPE_STRING); + + themes = gossip_theme_manager_get_themes (); + for (i = 0; themes[i]; i += 2) { + gtk_list_store_append (model, &iter); + gtk_list_store_set (model, &iter, + COL_COMBO_VISIBLE_NAME, _(themes[i + 1]), + COL_COMBO_NAME, themes[i], + -1); + } + + gtk_combo_box_set_model (combo, GTK_TREE_MODEL (model)); + g_object_unref (model); +} + +static void +preferences_widget_sync_bool (const gchar *key, GtkWidget *widget) +{ + gboolean value; + + if (gossip_conf_get_bool (gossip_conf_get (), key, &value)) { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), value); + } +} + +static void +preferences_widget_sync_int (const gchar *key, GtkWidget *widget) +{ + gint value; + + if (gossip_conf_get_int (gossip_conf_get (), key, &value)) { + if (GTK_IS_SPIN_BUTTON (widget)) { + gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), value); + } + } +} + +static void +preferences_widget_sync_string (const gchar *key, GtkWidget *widget) +{ + gchar *value; + + if (gossip_conf_get_string (gossip_conf_get (), key, &value) && value) { + if (GTK_IS_ENTRY (widget)) { + gtk_entry_set_text (GTK_ENTRY (widget), value); + } else if (GTK_IS_RADIO_BUTTON (widget)) { + if (strcmp (key, GOSSIP_PREFS_CONTACTS_SORT_CRITERIUM) == 0) { + GType type; + GEnumClass *enum_class; + GEnumValue *enum_value; + GSList *list; + GtkWidget *toggle_widget; + + /* Get index from new string */ + type = gossip_contact_list_store_sort_get_type (); + enum_class = G_ENUM_CLASS (g_type_class_peek (type)); + enum_value = g_enum_get_value_by_nick (enum_class, value); + + if (enum_value) { + list = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget)); + toggle_widget = g_slist_nth_data (list, enum_value->value); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle_widget), TRUE); + } + } else { + g_warning ("Unhandled key:'%s' just had string change", key); + } + } + + g_free (value); + } +} + +static void +preferences_widget_sync_string_combo (const gchar *key, GtkWidget *widget) +{ + gchar *value; + GtkTreeModel *model; + GtkTreeIter iter; + gboolean found; + + if (!gossip_conf_get_string (gossip_conf_get (), key, &value)) { + return; + } + + model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget)); + + found = FALSE; + if (value && gtk_tree_model_get_iter_first (model, &iter)) { + gchar *name; + + do { + gtk_tree_model_get (model, &iter, + COL_COMBO_NAME, &name, + -1); + + if (strcmp (name, value) == 0) { + found = TRUE; + gtk_combo_box_set_active_iter (GTK_COMBO_BOX (widget), &iter); + break; + } else { + found = FALSE; + } + + g_free (name); + } while (gtk_tree_model_iter_next (model, &iter)); + } + + /* Fallback to the first one. */ + if (!found) { + if (gtk_tree_model_get_iter_first (model, &iter)) { + gtk_combo_box_set_active_iter (GTK_COMBO_BOX (widget), &iter); + } + } + + g_free (value); +} + +static void +preferences_notify_int_cb (GossipConf *conf, + const gchar *key, + gpointer user_data) +{ + preferences_widget_sync_int (key, user_data); +} + +static void +preferences_notify_string_cb (GossipConf *conf, + const gchar *key, + gpointer user_data) +{ + preferences_widget_sync_string (key, user_data); +} + +static void +preferences_notify_string_combo_cb (GossipConf *conf, + const gchar *key, + gpointer user_data) +{ + preferences_widget_sync_string_combo (key, user_data); +} + +static void +preferences_notify_bool_cb (GossipConf *conf, + const gchar *key, + gpointer user_data) +{ + preferences_widget_sync_bool (key, user_data); +} + +static void +preferences_notify_sensitivity_cb (GossipConf *conf, + const gchar *key, + gpointer user_data) +{ + gboolean value; + + if (gossip_conf_get_bool (conf, key, &value)) { + gtk_widget_set_sensitive (GTK_WIDGET (user_data), value); + } +} + +static void +preferences_add_id (GossipPreferences *preferences, guint id) +{ + preferences->notify_ids = g_list_prepend (preferences->notify_ids, + GUINT_TO_POINTER (id)); +} + +static void +preferences_hookup_spin_button (GossipPreferences *preferences, + const gchar *key, + GtkWidget *widget) +{ + guint id; + + /* Silence warning. */ + if (0) { + preferences_hookup_spin_button (preferences, key, widget); + } + + preferences_widget_sync_int (key, widget); + + g_object_set_data_full (G_OBJECT (widget), "key", + g_strdup (key), g_free); + + g_signal_connect (widget, + "value_changed", + G_CALLBACK (preferences_spin_button_value_changed_cb), + NULL); + + id = gossip_conf_notify_add (gossip_conf_get (), + key, + preferences_notify_int_cb, + widget); + if (id) { + preferences_add_id (preferences, id); + } +} + +static void +preferences_hookup_entry (GossipPreferences *preferences, + const gchar *key, + GtkWidget *widget) +{ + guint id; + + if (0) { /* Silent warning before we use this function. */ + preferences_hookup_entry (preferences, key, widget); + } + + preferences_widget_sync_string (key, widget); + + g_object_set_data_full (G_OBJECT (widget), "key", + g_strdup (key), g_free); + + g_signal_connect (widget, + "changed", + G_CALLBACK (preferences_entry_value_changed_cb), + NULL); + + id = gossip_conf_notify_add (gossip_conf_get (), + key, + preferences_notify_string_cb, + widget); + if (id) { + preferences_add_id (preferences, id); + } +} + +static void +preferences_hookup_toggle_button (GossipPreferences *preferences, + const gchar *key, + GtkWidget *widget) +{ + guint id; + + preferences_widget_sync_bool (key, widget); + + g_object_set_data_full (G_OBJECT (widget), "key", + g_strdup (key), g_free); + + g_signal_connect (widget, + "toggled", + G_CALLBACK (preferences_toggle_button_toggled_cb), + NULL); + + id = gossip_conf_notify_add (gossip_conf_get (), + key, + preferences_notify_bool_cb, + widget); + if (id) { + preferences_add_id (preferences, id); + } +} + +static void +preferences_hookup_radio_button (GossipPreferences *preferences, + const gchar *key, + GtkWidget *widget) +{ + GSList *group, *l; + guint id; + + preferences_widget_sync_string (key, widget); + + group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget)); + for (l = group; l; l = l->next) { + g_signal_connect (l->data, + "toggled", + G_CALLBACK (preferences_radio_button_toggled_cb), + NULL); + + g_object_set_data_full (G_OBJECT (l->data), "key", + g_strdup (key), g_free); + } + + id = gossip_conf_notify_add (gossip_conf_get (), + key, + preferences_notify_string_cb, + widget); + if (id) { + preferences_add_id (preferences, id); + } +} + +static void +preferences_hookup_string_combo (GossipPreferences *preferences, + const gchar *key, + GtkWidget *widget) +{ + guint id; + + preferences_widget_sync_string_combo (key, widget); + + g_object_set_data_full (G_OBJECT (widget), "key", + g_strdup (key), g_free); + + g_signal_connect (widget, + "changed", + G_CALLBACK (preferences_string_combo_changed_cb), + NULL); + + id = gossip_conf_notify_add (gossip_conf_get (), + key, + preferences_notify_string_combo_cb, + widget); + if (id) { + preferences_add_id (preferences, id); + } +} + +static void +preferences_hookup_sensitivity (GossipPreferences *preferences, + const gchar *key, + GtkWidget *widget) +{ + gboolean value; + guint id; + + if (gossip_conf_get_bool (gossip_conf_get (), key, &value)) { + gtk_widget_set_sensitive (widget, value); + } + + id = gossip_conf_notify_add (gossip_conf_get (), + key, + preferences_notify_sensitivity_cb, + widget); + if (id) { + preferences_add_id (preferences, id); + } +} + +static void +preferences_spin_button_value_changed_cb (GtkWidget *button, + gpointer user_data) +{ + const gchar *key; + + key = g_object_get_data (G_OBJECT (button), "key"); + + gossip_conf_set_int (gossip_conf_get (), + key, + gtk_spin_button_get_value (GTK_SPIN_BUTTON (button))); +} + +static void +preferences_entry_value_changed_cb (GtkWidget *entry, + gpointer user_data) +{ + const gchar *key; + + key = g_object_get_data (G_OBJECT (entry), "key"); + + gossip_conf_set_string (gossip_conf_get (), + key, + gtk_entry_get_text (GTK_ENTRY (entry))); +} + +static void +preferences_toggle_button_toggled_cb (GtkWidget *button, + gpointer user_data) +{ + const gchar *key; + + key = g_object_get_data (G_OBJECT (button), "key"); + + gossip_conf_set_bool (gossip_conf_get (), + key, + gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button))); +} + +static void +preferences_radio_button_toggled_cb (GtkWidget *button, + gpointer user_data) +{ + const gchar *key; + const gchar *value = NULL; + + if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button))) { + return; + } + + key = g_object_get_data (G_OBJECT (button), "key"); + + if (key && strcmp (key, GOSSIP_PREFS_CONTACTS_SORT_CRITERIUM) == 0) { + GSList *group; + GType type; + GEnumClass *enum_class; + GEnumValue *enum_value; + + group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (button)); + + /* Get string from index */ + type = gossip_contact_list_store_sort_get_type (); + enum_class = G_ENUM_CLASS (g_type_class_peek (type)); + enum_value = g_enum_get_value (enum_class, g_slist_index (group, button)); + + if (!enum_value) { + g_warning ("No GEnumValue for GossipContactListSort with GtkRadioButton index:%d", + g_slist_index (group, button)); + return; + } + + value = enum_value->value_nick; + } + + gossip_conf_set_string (gossip_conf_get (), key, value); +} + +static void +preferences_string_combo_changed_cb (GtkWidget *combo, + gpointer user_data) +{ + const gchar *key; + GtkTreeModel *model; + GtkTreeIter iter; + gchar *name; + + key = g_object_get_data (G_OBJECT (combo), "key"); + + if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combo), &iter)) { + model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo)); + + gtk_tree_model_get (model, &iter, + COL_COMBO_NAME, &name, + -1); + gossip_conf_set_string (gossip_conf_get (), key, name); + g_free (name); + } +} + +static void +preferences_response_cb (GtkWidget *widget, + gint response, + GossipPreferences *preferences) +{ + gtk_widget_destroy (widget); +} + +static void +preferences_destroy_cb (GtkWidget *widget, + GossipPreferences *preferences) +{ + GList *l; + + for (l = preferences->notify_ids; l; l = l->next) { + guint id; + + id = GPOINTER_TO_UINT (l->data); + gossip_conf_notify_remove (gossip_conf_get (), id); + } + + g_list_free (preferences->notify_ids); + g_free (preferences); +} + +GtkWidget * +gossip_preferences_show (GtkWindow *parent) +{ + static GossipPreferences *preferences; + GladeXML *glade; + + if (preferences) { + gtk_window_present (GTK_WINDOW (preferences->dialog)); + return preferences->dialog; + } + + preferences = g_new0 (GossipPreferences, 1); + + glade = gossip_glade_get_file ( + "gossip-preferences.glade", + "preferences_dialog", + NULL, + "preferences_dialog", &preferences->dialog, + "notebook", &preferences->notebook, + "checkbutton_show_avatars", &preferences->checkbutton_show_avatars, + "checkbutton_compact_contact_list", &preferences->checkbutton_compact_contact_list, + "checkbutton_show_smileys", &preferences->checkbutton_show_smileys, + "combobox_chat_theme", &preferences->combobox_chat_theme, + "checkbutton_theme_chat_room", &preferences->checkbutton_theme_chat_room, + "checkbutton_separate_chat_windows", &preferences->checkbutton_separate_chat_windows, + "radiobutton_contact_list_sort_by_name", &preferences->radiobutton_contact_list_sort_by_name, + "radiobutton_contact_list_sort_by_state", &preferences->radiobutton_contact_list_sort_by_state, + "checkbutton_sounds_for_messages", &preferences->checkbutton_sounds_for_messages, + "checkbutton_sounds_when_busy", &preferences->checkbutton_sounds_when_busy, + "checkbutton_sounds_when_away", &preferences->checkbutton_sounds_when_away, + "checkbutton_popups_when_available", &preferences->checkbutton_popups_when_available, + "treeview_spell_checker", &preferences->treeview_spell_checker, + "checkbutton_spell_checker", &preferences->checkbutton_spell_checker, + NULL); + + gossip_glade_connect (glade, + preferences, + "preferences_dialog", "destroy", preferences_destroy_cb, + "preferences_dialog", "response", preferences_response_cb, + NULL); + + g_object_unref (glade); + + g_object_add_weak_pointer (G_OBJECT (preferences->dialog), (gpointer) &preferences); + + preferences_themes_setup (preferences); + + preferences_setup_widgets (preferences); + + preferences_languages_setup (preferences); + preferences_languages_add (preferences); + preferences_languages_load (preferences); + + if (gossip_spell_supported ()) { + GtkWidget *page; + + page = gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences->notebook), 2); + gtk_widget_show (page); + } + + if (parent) { + gtk_window_set_transient_for (GTK_WINDOW (preferences->dialog), + GTK_WINDOW (parent)); + } + + gtk_widget_show (preferences->dialog); + + return preferences->dialog; +} + diff --git a/trunk/libempathy-gtk/gossip-preferences.glade b/trunk/libempathy-gtk/gossip-preferences.glade new file mode 100644 index 000000000..c5cd51470 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-preferences.glade @@ -0,0 +1,1092 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> +<requires lib="gnome"/> + +<widget class="GtkDialog" id="preferences_dialog"> + <property name="border_width">5</property> + <property name="title" translatable="yes">Preferences</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property> + <property name="modal">False</property> + <property name="resizable">True</property> + <property name="destroy_with_parent">False</property> + <property name="icon_name">gtk-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_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <property name="has_separator">False</property> + + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog-vbox5"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">2</property> + + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area5"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="button_close"> + <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> + <property name="response_id">-6</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkNotebook" id="notebook"> + <property name="border_width">5</property> + <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">False</property> + <property name="enable_popup">False</property> + + <child> + <widget class="GtkVBox" id="vbox197"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">18</property> + + <child> + <widget class="GtkFrame" id="frame3"> + <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="alignment11"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkVBox" id="vbox199"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkCheckButton" id="checkbutton_show_avatars"> + <property name="visible">True</property> + <property name="tooltip" translatable="yes">Avatars are user chosen images shown in the contact list</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Show _avatars</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="GtkCheckButton" id="checkbutton_compact_contact_list"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Show co_mpact contact list</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> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="checkbutton_show_smileys"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Show _smileys as images</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> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label611"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Appearance</b></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="frame4"> + <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="alignment12"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkCheckButton" id="checkbutton_separate_chat_windows"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Open new chats in separate 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> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label612"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Behaviour</b></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="frame13"> + <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="alignment31"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkVBox" id="vbox217"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkRadioButton" id="radiobutton_contact_list_sort_by_name"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Sort by _name</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> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="radiobutton_contact_list_sort_by_state"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Sort by s_tate</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">radiobutton_contact_list_sort_by_name</property> + </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="label644"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Contact List</b></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="label602"> + <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="outer_vbox"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">18</property> + + <child> + <widget class="GtkFrame" id="frame5"> + <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="alignment13"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkVBox" id="vbox106"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkCheckButton" id="checkbutton_sounds_for_messages"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Play sound when messages arrive</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> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="checkbutton_sounds_when_busy"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Enable sounds when _busy</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> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="checkbutton_sounds_when_away"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Enable sounds when _away</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> + </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="label613"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Audio</b></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="frame6"> + <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="alignment14"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkCheckButton" id="checkbutton_popups_when_available"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Display notifications when contacts come _online</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> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label614"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Visual</b></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="label607"> + <property name="visible">True</property> + <property name="label" translatable="yes">Notifications</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="vbox168"> + <property name="border_width">12</property> + <property name="homogeneous">False</property> + <property name="spacing">18</property> + + <child> + <widget class="GtkFrame" id="frame7"> + <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="alignment15"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkVBox" id="vbox201"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkHBox" id="hbox153"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkHBox" id="hbox154"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow18"> + <property name="visible">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="treeview_spell_checker"> + <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="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">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox155"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkImage" id="image422"> + <property name="visible">True</property> + <property name="stock">gtk-dialog-info</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0</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">True</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label616"> + <property name="visible">True</property> + <property name="label" translatable="yes"><small>The list of languages reflects only the languages for which you have a dictionary installed.</small></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</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="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> + <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="label615"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Languages</b></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="frame8"> + <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="alignment16"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkCheckButton" id="checkbutton_spell_checker"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Enable spell checking</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> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label617"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Options</b></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">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="label567"> + <property name="visible">True</property> + <property name="label" translatable="yes">Spell Checking</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="vbox206"> + <property name="border_width">12</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">18</property> + + <child> + <widget class="GtkFrame" id="frame11"> + <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="alignment19"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkVBox" id="vbox207"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkHBox" id="hbox139"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label586"> + <property name="visible">True</property> + <property name="label" translatable="yes">Chat Th_eme:</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">combobox_chat_theme</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="combobox_chat_theme"> + <property name="visible">True</property> + <property name="items" translatable="yes"></property> + <property name="add_tearoffs">False</property> + <property name="focus_on_click">True</property> + </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="label626"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Appearance</b></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="frame12"> + <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="alignment20"> + <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">6</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkCheckButton" id="checkbutton_theme_chat_room"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Use for chat rooms</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> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label627"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Options</b></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="label624"> + <property name="visible">True</property> + <property name="label" translatable="yes">Themes</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> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + </child> +</widget> + +</glade-interface> diff --git a/trunk/libempathy-gtk/gossip-preferences.h b/trunk/libempathy-gtk/gossip-preferences.h new file mode 100644 index 000000000..35b26621f --- /dev/null +++ b/trunk/libempathy-gtk/gossip-preferences.h @@ -0,0 +1,58 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2003-2007 Imendio AB + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + */ + +#ifndef __GOSSIP_PREFERENCES_H__ +#define __GOSSIP_PREFERENCES_H__ + +#include <gtk/gtkwindow.h> + +G_BEGIN_DECLS + +#define GOSSIP_PREFS_PATH "/apps/empathy" + +#define GOSSIP_PREFS_SOUNDS_FOR_MESSAGES GOSSIP_PREFS_PATH "/notifications/sounds_for_messages" +#define GOSSIP_PREFS_SOUNDS_WHEN_AWAY GOSSIP_PREFS_PATH "/notifications/sounds_when_away" +#define GOSSIP_PREFS_SOUNDS_WHEN_BUSY GOSSIP_PREFS_PATH "/notifications/sounds_when_busy" +#define GOSSIP_PREFS_POPUPS_WHEN_AVAILABLE GOSSIP_PREFS_PATH "/notifications/popups_when_available" +#define GOSSIP_PREFS_CHAT_SHOW_SMILEYS GOSSIP_PREFS_PATH "/conversation/graphical_smileys" +#define GOSSIP_PREFS_CHAT_THEME GOSSIP_PREFS_PATH "/conversation/theme" +#define GOSSIP_PREFS_CHAT_THEME_CHAT_ROOM GOSSIP_PREFS_PATH "/conversation/theme_chat_room" +#define GOSSIP_PREFS_CHAT_SPELL_CHECKER_LANGUAGES GOSSIP_PREFS_PATH "/conversation/spell_checker_languages" +#define GOSSIP_PREFS_CHAT_SPELL_CHECKER_ENABLED GOSSIP_PREFS_PATH "/conversation/spell_checker_enabled" +#define GOSSIP_PREFS_UI_SEPARATE_CHAT_WINDOWS GOSSIP_PREFS_PATH "/ui/separate_chat_windows" +#define GOSSIP_PREFS_UI_MAIN_WINDOW_HIDDEN GOSSIP_PREFS_PATH "/ui/main_window_hidden" +#define GOSSIP_PREFS_UI_AVATAR_DIRECTORY GOSSIP_PREFS_PATH "/ui/avatar_directory" +#define GOSSIP_PREFS_UI_SHOW_AVATARS GOSSIP_PREFS_PATH "/ui/show_avatars" +#define GOSSIP_PREFS_UI_COMPACT_CONTACT_LIST GOSSIP_PREFS_PATH "/ui/compact_contact_list" +#define GOSSIP_PREFS_CONTACTS_SHOW_OFFLINE GOSSIP_PREFS_PATH "/contacts/show_offline" +#define GOSSIP_PREFS_CONTACTS_SORT_CRITERIUM GOSSIP_PREFS_PATH "/contacts/sort_criterium" +#define GOSSIP_PREFS_HINTS_CLOSE_MAIN_WINDOW GOSSIP_PREFS_PATH "/hints/close_main_window" + +GtkWidget * gossip_preferences_show (GtkWindow *parent); + +G_END_DECLS + +#endif /* __GOSSIP_PREFERENCES_H__ */ + + diff --git a/trunk/libempathy-gtk/gossip-presence-chooser.c b/trunk/libempathy-gtk/gossip-presence-chooser.c new file mode 100644 index 000000000..e92de9efa --- /dev/null +++ b/trunk/libempathy-gtk/gossip-presence-chooser.c @@ -0,0 +1,1022 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * + * 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. + * + * Authors: Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + */ + +#include "config.h" + +#include <string.h> +#include <stdlib.h> + +#include <glib/gi18n.h> +#include <gtk/gtk.h> +#include <glade/glade.h> + +#include <libmissioncontrol/mission-control.h> + +#include <libempathy/gossip-utils.h> +#include <libempathy/gossip-debug.h> +#include <libempathy/empathy-marshal.h> + +#include "gossip-ui-utils.h" +#include "empathy-images.h" +#include "gossip-presence-chooser.h" +#include "gossip-status-presets.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_PRESENCE_CHOOSER, GossipPresenceChooserPriv)) + +#define DEBUG_DOMAIN "PresenceChooser" + +/* Flashing delay for icons (milliseconds). */ +#define FLASH_TIMEOUT 500 + +typedef struct { + MissionControl *mc; + + GtkWidget *hbox; + GtkWidget *image; + GtkWidget *label; + GtkWidget *menu; + + McPresence last_state; + + McPresence flash_state_1; + McPresence flash_state_2; + guint flash_timeout_id; + + /* The handle the kind of unnessecary scroll support. */ + guint scroll_timeout_id; + McPresence scroll_state; + gchar *scroll_status; +} GossipPresenceChooserPriv; + +typedef struct { + McPresence state; + const gchar *status; +} StateAndStatus; + +/* States to be listed in the menu */ +static McPresence states[] = {MC_PRESENCE_AVAILABLE, + MC_PRESENCE_DO_NOT_DISTURB, + MC_PRESENCE_AWAY}; + +static void gossip_presence_chooser_class_init (GossipPresenceChooserClass *klass); +static void gossip_presence_chooser_init (GossipPresenceChooser *chooser); +static void presence_chooser_finalize (GObject *object); +static void presence_chooser_presence_changed_cb (MissionControl *mc, + McPresence state, + GossipPresenceChooser *chooser); +static void presence_chooser_reset_scroll_timeout (GossipPresenceChooser *chooser); +static gboolean presence_chooser_scroll_timeout_cb (GossipPresenceChooser *chooser); +static gboolean presence_chooser_scroll_event_cb (GossipPresenceChooser *chooser, + GdkEventScroll *event, + gpointer user_data); +static GList * presence_chooser_get_presets (GossipPresenceChooser *chooser); +static StateAndStatus *presence_chooser_state_and_status_new (McPresence state, + const gchar *status); +static gboolean presence_chooser_flash_timeout_cb (GossipPresenceChooser *chooser); +void gossip_presence_chooser_flash_start (GossipPresenceChooser *chooser, + McPresence state_1, + McPresence state_2); +void gossip_presence_chooser_flash_stop (GossipPresenceChooser *chooser, + McPresence state); +gboolean gossip_presence_chooser_is_flashing (GossipPresenceChooser *chooser); +static gboolean presence_chooser_button_press_event_cb (GtkWidget *chooser, + GdkEventButton *event, + gpointer user_data); +static void presence_chooser_toggled_cb (GtkWidget *chooser, + gpointer user_data); +static void presence_chooser_menu_popup (GossipPresenceChooser *chooser); +static void presence_chooser_menu_popdown (GossipPresenceChooser *chooser); +static void presence_chooser_menu_selection_done_cb (GtkMenuShell *menushell, + GossipPresenceChooser *chooser); +static void presence_chooser_menu_destroy_cb (GtkWidget *menu, + GossipPresenceChooser *chooser); +static void presence_chooser_menu_detach (GtkWidget *attach_widget, + GtkMenu *menu); +static void presence_chooser_menu_align_func (GtkMenu *menu, + gint *x, + gint *y, + gboolean *push_in, + GtkWidget *widget); +static void presence_chooser_menu_add_item (GtkWidget *menu, + const gchar *str, + McPresence state, + gboolean custom); +static void presence_chooser_clear_activate_cb (GtkWidget *item, + gpointer user_data); +static void presence_chooser_clear_response_cb (GtkWidget *widget, + gint response, + gpointer user_data); +static void presence_chooser_noncustom_activate_cb (GtkWidget *item, + gpointer user_data); +static void presence_chooser_set_state (McPresence state, + const gchar *status, + gboolean save); +static void presence_chooser_custom_activate_cb (GtkWidget *item, + gpointer user_data); +static void presence_chooser_show_dialog (McPresence state); +static void presence_chooser_dialog_response_cb (GtkWidget *dialog, + gint response, + gpointer user_data); + +G_DEFINE_TYPE (GossipPresenceChooser, gossip_presence_chooser, GTK_TYPE_TOGGLE_BUTTON); + +static void +gossip_presence_chooser_class_init (GossipPresenceChooserClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = presence_chooser_finalize; + + g_type_class_add_private (object_class, sizeof (GossipPresenceChooserPriv)); +} + +static void +gossip_presence_chooser_init (GossipPresenceChooser *chooser) +{ + GossipPresenceChooserPriv *priv; + GtkWidget *arrow; + GtkWidget *alignment; + McPresence state; + + priv = GET_PRIV (chooser); + + gtk_button_set_relief (GTK_BUTTON (chooser), GTK_RELIEF_NONE); + gtk_button_set_focus_on_click (GTK_BUTTON (chooser), FALSE); + + alignment = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment); + gtk_container_add (GTK_CONTAINER (chooser), alignment); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 1, 0); + + priv->hbox = gtk_hbox_new (FALSE, 1); + gtk_widget_show (priv->hbox); + gtk_container_add (GTK_CONTAINER (alignment), priv->hbox); + + priv->image = gtk_image_new (); + gtk_widget_show (priv->image); + gtk_box_pack_start (GTK_BOX (priv->hbox), priv->image, FALSE, TRUE, 0); + + priv->label = gtk_label_new (NULL); + gtk_widget_show (priv->label); + gtk_box_pack_start (GTK_BOX (priv->hbox), priv->label, TRUE, TRUE, 0); + gtk_label_set_ellipsize (GTK_LABEL (priv->label), PANGO_ELLIPSIZE_END); + gtk_misc_set_alignment (GTK_MISC (priv->label), 0, 0.5); + gtk_misc_set_padding (GTK_MISC (priv->label), 4, 1); + + alignment = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment); + gtk_box_pack_start (GTK_BOX (priv->hbox), alignment, FALSE, FALSE, 0); + + arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_OUT); + gtk_widget_show (arrow); + gtk_container_add (GTK_CONTAINER (alignment), arrow); + + g_signal_connect (chooser, "toggled", + G_CALLBACK (presence_chooser_toggled_cb), + NULL); + g_signal_connect (chooser, "button-press-event", + G_CALLBACK (presence_chooser_button_press_event_cb), + NULL); + g_signal_connect (chooser, "scroll-event", + G_CALLBACK (presence_chooser_scroll_event_cb), + NULL); + + priv->mc = gossip_mission_control_new (); + state = mission_control_get_presence_actual (priv->mc, NULL); + presence_chooser_presence_changed_cb (priv->mc, state, chooser); + dbus_g_proxy_connect_signal (DBUS_G_PROXY (priv->mc), + "PresenceStatusActual", + G_CALLBACK (presence_chooser_presence_changed_cb), + chooser, NULL); +} + +static void +presence_chooser_finalize (GObject *object) +{ + GossipPresenceChooserPriv *priv; + + priv = GET_PRIV (object); + + if (priv->flash_timeout_id) { + g_source_remove (priv->flash_timeout_id); + } + + if (priv->scroll_timeout_id) { + g_source_remove (priv->scroll_timeout_id); + } + + dbus_g_proxy_disconnect_signal (DBUS_G_PROXY (priv->mc), + "PresenceStatusActual", + G_CALLBACK (presence_chooser_presence_changed_cb), + object); + g_object_unref (priv->mc); + + G_OBJECT_CLASS (gossip_presence_chooser_parent_class)->finalize (object); +} + +GtkWidget * +gossip_presence_chooser_new (void) +{ + GtkWidget *chooser; + + chooser = g_object_new (GOSSIP_TYPE_PRESENCE_CHOOSER, NULL); + + return chooser; +} + +static void +presence_chooser_presence_changed_cb (MissionControl *mc, + McPresence state, + GossipPresenceChooser *chooser) +{ + GossipPresenceChooserPriv *priv; + gchar *status; + + priv = GET_PRIV (chooser); + + status = mission_control_get_presence_message_actual (priv->mc, NULL); + if (G_STR_EMPTY (status)) { + g_free (status); + status = g_strdup (gossip_presence_state_get_default_status (state)); + } + + gossip_debug (DEBUG_DOMAIN, "Presence changed to %s (%d)", + status, state); + + presence_chooser_reset_scroll_timeout (chooser); + gossip_presence_chooser_flash_stop (chooser, state); + gtk_label_set_text (GTK_LABEL (priv->label), status); + + g_free (status); +} + +static void +presence_chooser_reset_scroll_timeout (GossipPresenceChooser *chooser) +{ + GossipPresenceChooserPriv *priv; + + priv = GET_PRIV (chooser); + + if (priv->scroll_timeout_id) { + g_source_remove (priv->scroll_timeout_id); + priv->scroll_timeout_id = 0; + } + + g_free (priv->scroll_status); + priv->scroll_status = NULL; +} + +static gboolean +presence_chooser_scroll_timeout_cb (GossipPresenceChooser *chooser) +{ + GossipPresenceChooserPriv *priv; + + priv = GET_PRIV (chooser); + + priv->scroll_timeout_id = 0; + + gossip_debug (DEBUG_DOMAIN, "Setting presence to %s (%d)", + priv->scroll_status, priv->scroll_state); + + mission_control_set_presence (priv->mc, + priv->scroll_state, + priv->scroll_status, + NULL, NULL); + + g_free (priv->scroll_status); + priv->scroll_status = NULL; + + return FALSE; +} + +static gboolean +presence_chooser_scroll_event_cb (GossipPresenceChooser *chooser, + GdkEventScroll *event, + gpointer user_data) +{ + GossipPresenceChooserPriv *priv; + GList *list, *l; + const gchar *current_status; + StateAndStatus *sas; + gboolean match; + + priv = GET_PRIV (chooser); + + switch (event->direction) { + case GDK_SCROLL_UP: + break; + case GDK_SCROLL_DOWN: + break; + default: + return FALSE; + } + + current_status = gtk_label_get_text (GTK_LABEL (priv->label)); + + /* Get the list of presets, which in this context means all the items + * without a trailing "...". + */ + list = presence_chooser_get_presets (chooser); + sas = NULL; + match = FALSE; + for (l = list; l; l = l->next) { + sas = l->data; + + if (sas->state == priv->last_state && + strcmp (sas->status, current_status) == 0) { + sas = NULL; + match = TRUE; + if (event->direction == GDK_SCROLL_UP) { + if (l->prev) { + sas = l->prev->data; + } + } + else if (event->direction == GDK_SCROLL_DOWN) { + if (l->next) { + sas = l->next->data; + } + } + break; + } + + sas = NULL; + } + + if (sas) { + presence_chooser_reset_scroll_timeout (chooser); + + priv->scroll_status = g_strdup (sas->status); + priv->scroll_state = sas->state; + + priv->scroll_timeout_id = + g_timeout_add (500, + (GSourceFunc) presence_chooser_scroll_timeout_cb, + chooser); + + gossip_presence_chooser_flash_stop (chooser, sas->state); + gtk_label_set_text (GTK_LABEL (priv->label), sas->status); + } + else if (!match) { + const gchar *status; + /* If we didn't get any match at all, it means the last state + * was a custom one. Just switch to the first one. + */ + status = gossip_presence_state_get_default_status (states[0]); + + gossip_debug (DEBUG_DOMAIN, "Setting presence to %s (%d)", + status, states[0]); + + presence_chooser_reset_scroll_timeout (chooser); + mission_control_set_presence (priv->mc, + states[0], + status, + NULL, NULL); + } + + g_list_foreach (list, (GFunc) g_free, NULL); + g_list_free (list); + + return TRUE; +} + +static GList * +presence_chooser_get_presets (GossipPresenceChooser *chooser) +{ + GList *list = NULL; + guint i; + + for (i = 0; i < G_N_ELEMENTS (states); i++) { + GList *presets, *p; + StateAndStatus *sas; + const gchar *status; + + status = gossip_presence_state_get_default_status (states[i]); + sas = presence_chooser_state_and_status_new (states[i], status); + list = g_list_append (list, sas); + + presets = gossip_status_presets_get (states[i], 5); + for (p = presets; p; p = p->next) { + sas = presence_chooser_state_and_status_new (states[i], p->data); + list = g_list_append (list, sas); + } + g_list_free (presets); + } + + return list; +} + +static StateAndStatus * +presence_chooser_state_and_status_new (McPresence state, + const gchar *status) +{ + StateAndStatus *sas; + + sas = g_new0 (StateAndStatus, 1); + + sas->state = state; + sas->status = status; + + return sas; +} + +static gboolean +presence_chooser_flash_timeout_cb (GossipPresenceChooser *chooser) +{ + GossipPresenceChooserPriv *priv; + McPresence state; + static gboolean on = FALSE; + + priv = GET_PRIV (chooser); + + if (on) { + state = priv->flash_state_1; + } else { + state = priv->flash_state_2; + } + + gtk_image_set_from_icon_name (GTK_IMAGE (priv->image), + gossip_icon_name_for_presence_state (state), + GTK_ICON_SIZE_MENU); + + on = !on; + + return TRUE; +} + +void +gossip_presence_chooser_flash_start (GossipPresenceChooser *chooser, + McPresence state_1, + McPresence state_2) +{ + GossipPresenceChooserPriv *priv; + + g_return_if_fail (GOSSIP_IS_PRESENCE_CHOOSER (chooser)); + + priv = GET_PRIV (chooser); + + if (priv->flash_timeout_id != 0) { + return; + } + + priv->flash_state_1 = state_1; + priv->flash_state_2 = state_2; + + priv->flash_timeout_id = g_timeout_add (FLASH_TIMEOUT, + (GSourceFunc) presence_chooser_flash_timeout_cb, + chooser); +} + +void +gossip_presence_chooser_flash_stop (GossipPresenceChooser *chooser, + McPresence state) +{ + GossipPresenceChooserPriv *priv; + + g_return_if_fail (GOSSIP_IS_PRESENCE_CHOOSER (chooser)); + + priv = GET_PRIV (chooser); + + if (priv->flash_timeout_id) { + g_source_remove (priv->flash_timeout_id); + priv->flash_timeout_id = 0; + } + + gtk_image_set_from_icon_name (GTK_IMAGE (priv->image), + gossip_icon_name_for_presence_state (state), + GTK_ICON_SIZE_MENU); + + priv->last_state = state; +} + +gboolean +gossip_presence_chooser_is_flashing (GossipPresenceChooser *chooser) +{ + GossipPresenceChooserPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_PRESENCE_CHOOSER (chooser), FALSE); + + priv = GET_PRIV (chooser); + + if (priv->flash_timeout_id) { + return TRUE; + } + + return FALSE; +} + +static gboolean +presence_chooser_button_press_event_cb (GtkWidget *chooser, + GdkEventButton *event, + gpointer user_data) +{ + if (event->button != 1 || event->type != GDK_BUTTON_PRESS) { + return FALSE; + } + + if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (chooser))) { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (chooser), TRUE); + return TRUE; + } + + return FALSE; +} + +static void +presence_chooser_toggled_cb (GtkWidget *chooser, + gpointer user_data) +{ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (chooser))) { + presence_chooser_menu_popup (GOSSIP_PRESENCE_CHOOSER (chooser)); + } else { + presence_chooser_menu_popdown (GOSSIP_PRESENCE_CHOOSER (chooser)); + } +} + +static void +presence_chooser_menu_popup (GossipPresenceChooser *chooser) +{ + GossipPresenceChooserPriv *priv; + GtkWidget *menu; + + priv = GET_PRIV (chooser); + + if (priv->menu) { + return; + } + + menu = gossip_presence_chooser_create_menu (); + + g_signal_connect_after (menu, "selection-done", + G_CALLBACK (presence_chooser_menu_selection_done_cb), + chooser); + + g_signal_connect (menu, "destroy", + G_CALLBACK (presence_chooser_menu_destroy_cb), + chooser); + + gtk_menu_attach_to_widget (GTK_MENU (menu), + GTK_WIDGET (chooser), + presence_chooser_menu_detach); + + gtk_menu_popup (GTK_MENU (menu), + NULL, NULL, + (GtkMenuPositionFunc) presence_chooser_menu_align_func, + chooser, + 1, + gtk_get_current_event_time ()); + + priv->menu = menu; +} + +static void +presence_chooser_menu_popdown (GossipPresenceChooser *chooser) +{ + GossipPresenceChooserPriv *priv; + + priv = GET_PRIV (chooser); + + if (priv->menu) { + gtk_widget_destroy (priv->menu); + } +} + +static void +presence_chooser_menu_selection_done_cb (GtkMenuShell *menushell, + GossipPresenceChooser *chooser) +{ + gtk_widget_destroy (GTK_WIDGET (menushell)); + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (chooser), FALSE); +} + +static void +presence_chooser_menu_destroy_cb (GtkWidget *menu, + GossipPresenceChooser *chooser) +{ + GossipPresenceChooserPriv *priv; + + priv = GET_PRIV (chooser); + + priv->menu = NULL; +} + +static void +presence_chooser_menu_detach (GtkWidget *attach_widget, + GtkMenu *menu) +{ + /* We don't need to do anything, but attaching the menu means + * we don't own the ref count and it is cleaned up properly. + */ +} + +static void +presence_chooser_menu_align_func (GtkMenu *menu, + gint *x, + gint *y, + gboolean *push_in, + GtkWidget *widget) +{ + GtkRequisition req; + GdkScreen *screen; + gint screen_height; + + gtk_widget_size_request (GTK_WIDGET (menu), &req); + + gdk_window_get_origin (widget->window, x, y); + + *x += widget->allocation.x + 1; + *y += widget->allocation.y; + + screen = gtk_widget_get_screen (GTK_WIDGET (menu)); + screen_height = gdk_screen_get_height (screen); + + if (req.height > screen_height) { + /* Too big for screen height anyway. */ + *y = 0; + return; + } + + if ((*y + req.height + widget->allocation.height) > screen_height) { + /* Can't put it below the button. */ + *y -= req.height; + *y += 1; + } else { + /* Put menu below button. */ + *y += widget->allocation.height; + *y -= 1; + } + + *push_in = FALSE; +} + +GtkWidget * +gossip_presence_chooser_create_menu (void) +{ + const gchar *status; + GtkWidget *menu; + GtkWidget *item; + GtkWidget *image; + guint i; + + menu = gtk_menu_new (); + + for (i = 0; i < G_N_ELEMENTS (states); i++) { + GList *list, *l; + + status = gossip_presence_state_get_default_status (states[i]); + presence_chooser_menu_add_item (menu, + status, + states[i], + FALSE); + + list = gossip_status_presets_get (states[i], 5); + for (l = list; l; l = l->next) { + presence_chooser_menu_add_item (menu, + l->data, + states[i], + FALSE); + } + g_list_free (list); + + presence_chooser_menu_add_item (menu, + _("Custom message..."), + states[i], + TRUE); + + /* Separator. */ + item = gtk_menu_item_new (); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + } + + /* Offline to disconnect */ + status = gossip_presence_state_get_default_status (MC_PRESENCE_OFFLINE); + presence_chooser_menu_add_item (menu, + status, + MC_PRESENCE_OFFLINE, + FALSE); + /* Separator. */ + item = gtk_menu_item_new (); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + + /* Clear list */ + item = gtk_image_menu_item_new_with_label (_("Clear List...")); + image = gtk_image_new_from_stock (GTK_STOCK_CLEAR, GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (image); + gtk_widget_show (item); + + g_signal_connect (item, + "activate", + G_CALLBACK (presence_chooser_clear_activate_cb), + NULL); + + return menu; +} + +static void +presence_chooser_menu_add_item (GtkWidget *menu, + const gchar *str, + McPresence state, + gboolean custom) +{ + GtkWidget *item; + GtkWidget *image; + const gchar *icon_name; + + item = gtk_image_menu_item_new_with_label (str); + icon_name = gossip_icon_name_for_presence_state (state); + + if (custom) { + g_signal_connect (item, "activate", + G_CALLBACK (presence_chooser_custom_activate_cb), + NULL); + } else { + g_signal_connect (item, "activate", + G_CALLBACK (presence_chooser_noncustom_activate_cb), + NULL); + } + + image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU); + gtk_widget_show (image); + + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); + gtk_widget_show (item); + + g_object_set_data_full (G_OBJECT (item), + "status", g_strdup (str), + (GDestroyNotify) g_free); + + g_object_set_data (G_OBJECT (item), "state", GINT_TO_POINTER (state)); + + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); +} + +static void +presence_chooser_clear_activate_cb (GtkWidget *item, + gpointer user_data) +{ + GtkWidget *dialog; + GtkWidget *toplevel; + GtkWindow *parent = NULL; + + toplevel = gtk_widget_get_toplevel (item); + if (GTK_WIDGET_TOPLEVEL (toplevel) && + GTK_IS_WINDOW (toplevel)) { + GtkWindow *window; + gboolean visible; + + window = GTK_WINDOW (toplevel); + visible = gossip_window_get_is_visible (window); + + if (visible) { + parent = window; + } + } + + dialog = gtk_message_dialog_new (GTK_WINDOW (parent), + 0, + GTK_MESSAGE_QUESTION, + GTK_BUTTONS_NONE, + _("Are you sure you want to clear the list?")); + + gtk_message_dialog_format_secondary_text ( + GTK_MESSAGE_DIALOG (dialog), + _("This will remove any custom messages you have " + "added to the list of preset status messages.")); + + gtk_dialog_add_buttons (GTK_DIALOG (dialog), + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + _("Clear List"), GTK_RESPONSE_OK, + NULL); + + gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), FALSE); + + g_signal_connect (dialog, "response", + G_CALLBACK (presence_chooser_clear_response_cb), + NULL); + + gtk_widget_show (dialog); +} + +static void +presence_chooser_clear_response_cb (GtkWidget *widget, + gint response, + gpointer user_data) +{ + if (response == GTK_RESPONSE_OK) { + gossip_status_presets_reset (); + } + + gtk_widget_destroy (widget); +} + +static void +presence_chooser_noncustom_activate_cb (GtkWidget *item, + gpointer user_data) +{ + McPresence state; + const gchar *status; + + status = g_object_get_data (G_OBJECT (item), "status"); + state = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (item), "state")); + + presence_chooser_set_state (state, status, FALSE); +} + +static void +presence_chooser_set_state (McPresence state, + const gchar *status, + gboolean save) +{ + const gchar *default_status; + MissionControl *mc; + + default_status = gossip_presence_state_get_default_status (state); + + if (G_STR_EMPTY (status)) { + status = default_status; + } else { + /* Only store the value if it differs from the default ones. */ + if (save && strcmp (status, default_status) != 0) { + gossip_status_presets_set_last (state, status); + } + } + + gossip_debug (DEBUG_DOMAIN, "Setting presence to %s (%d)", + status, state); + + mc = gossip_mission_control_new (); + mission_control_set_presence (mc, state, status, NULL, NULL); + g_object_unref (mc); +} + +static void +presence_chooser_custom_activate_cb (GtkWidget *item, + gpointer user_data) +{ + McPresence state; + + state = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (item), "state")); + + presence_chooser_show_dialog (state); +} + +static void +presence_chooser_show_dialog (McPresence state) +{ + static GtkWidget *dialog = NULL; + static GtkListStore *store[LAST_MC_PRESENCE]; + GladeXML *glade; + GtkWidget *image; + GtkWidget *combo; + GtkWidget *entry; + GtkWidget *checkbutton; + const gchar *default_status; + + if (dialog) { + gtk_widget_destroy (dialog); + dialog = NULL; + } else { + guint i; + + for (i = 0; i < LAST_MC_PRESENCE; i++) { + store[i] = NULL; + } + } + + glade = gossip_glade_get_file ("gossip-presence-chooser.glade", + "status_message_dialog", + NULL, + "status_message_dialog", &dialog, + "comboentry_status", &combo, + "image_status", &image, + "checkbutton_add", &checkbutton, + NULL); + + g_object_unref (glade); + + g_signal_connect (dialog, "destroy", + G_CALLBACK (gtk_widget_destroyed), + &dialog); + g_signal_connect (dialog, "response", + G_CALLBACK (presence_chooser_dialog_response_cb), + NULL); + + gtk_image_set_from_icon_name (GTK_IMAGE (image), + gossip_icon_name_for_presence_state (state), + GTK_ICON_SIZE_MENU); + + if (!store[state]) { + GList *presets, *l; + GtkTreeIter iter; + + store[state] = gtk_list_store_new (1, G_TYPE_STRING); + + presets = gossip_status_presets_get (state, -1); + for (l = presets; l; l = l->next) { + gtk_list_store_append (store[state], &iter); + gtk_list_store_set (store[state], &iter, 0, l->data, -1); + } + + g_list_free (presets); + } + + default_status = gossip_presence_state_get_default_status (state); + + entry = GTK_BIN (combo)->child; + gtk_entry_set_text (GTK_ENTRY (entry), default_status); + gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE); + gtk_entry_set_width_chars (GTK_ENTRY (entry), 25); + + gtk_combo_box_set_model (GTK_COMBO_BOX (combo), GTK_TREE_MODEL (store[state])); + gtk_combo_box_entry_set_text_column (GTK_COMBO_BOX_ENTRY (combo), 0); + + /* FIXME: Set transian for a window ? */ + + g_object_set_data (G_OBJECT (dialog), "store", store[state]); + g_object_set_data (G_OBJECT (dialog), "entry", entry); + g_object_set_data (G_OBJECT (dialog), "checkbutton", checkbutton); + g_object_set_data (G_OBJECT (dialog), "state", GINT_TO_POINTER (state)); + + gtk_widget_show_all (dialog); +} + +static void +presence_chooser_dialog_response_cb (GtkWidget *dialog, + gint response, + gpointer user_data) +{ + if (response == GTK_RESPONSE_OK) { + GtkWidget *entry; + GtkWidget *checkbutton; + GtkListStore *store; + GtkTreeModel *model; + GtkTreeIter iter; + McPresence state; + const gchar *status; + gboolean save; + gboolean duplicate = FALSE; + gboolean has_next; + + entry = g_object_get_data (G_OBJECT (dialog), "entry"); + status = gtk_entry_get_text (GTK_ENTRY (entry)); + store = g_object_get_data (G_OBJECT (dialog), "store"); + model = GTK_TREE_MODEL (store); + + has_next = gtk_tree_model_get_iter_first (model, &iter); + while (has_next) { + gchar *str; + + gtk_tree_model_get (model, &iter, + 0, &str, + -1); + + if (strcmp (status, str) == 0) { + g_free (str); + duplicate = TRUE; + break; + } + + g_free (str); + + has_next = gtk_tree_model_iter_next (model, &iter); + } + + if (!duplicate) { + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, status, -1); + } + + checkbutton = g_object_get_data (G_OBJECT (dialog), "checkbutton"); + save = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbutton)); + state = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (dialog), "state")); + + presence_chooser_set_state (state, status, save); + } + + gtk_widget_destroy (dialog); +} + diff --git a/trunk/libempathy-gtk/gossip-presence-chooser.glade b/trunk/libempathy-gtk/gossip-presence-chooser.glade new file mode 100644 index 000000000..f9f1d4eb0 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-presence-chooser.glade @@ -0,0 +1,173 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> +<requires lib="gnome"/> + +<widget class="GtkDialog" id="status_message_dialog"> + <property name="border_width">5</property> + <property name="title" translatable="yes">Status Message Presets</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property> + <property name="modal">False</property> + <property name="resizable">False</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_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <property name="has_separator">False</property> + + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog-vbox6"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">2</property> + + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area6"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="cancelbutton1"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-cancel</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-6</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="okbutton3"> + <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="label">gtk-ok</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-5</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox111"> + <property name="border_width">5</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkHBox" id="hbox90"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkImage" id="image_status"> + <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">True</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label468"> + <property name="visible">True</property> + <property name="label" translatable="yes">Enter status message:</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">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="GtkComboBoxEntry" id="comboentry_status"> + <property name="visible">True</property> + <property name="add_tearoffs">False</property> + <property name="has_frame">True</property> + <property name="focus_on_click">True</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="checkbutton_add"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Add to status message list</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> + </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> + +</glade-interface> diff --git a/trunk/libempathy-gtk/gossip-presence-chooser.h b/trunk/libempathy-gtk/gossip-presence-chooser.h new file mode 100644 index 000000000..f78c96c19 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-presence-chooser.h @@ -0,0 +1,64 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * + * 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. + * + * Authors: Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + */ + +#ifndef __GOSSIP_PRESENCE_CHOOSER_H__ +#define __GOSSIP_PRESENCE_CHOOSER_H__ + +#include <gtk/gtk.h> + +#include <libempathy/gossip-presence.h> + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_PRESENCE_CHOOSER (gossip_presence_chooser_get_type ()) +#define GOSSIP_PRESENCE_CHOOSER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_PRESENCE_CHOOSER, GossipPresenceChooser)) +#define GOSSIP_PRESENCE_CHOOSER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOSSIP_TYPE_PRESENCE_CHOOSER, GossipPresenceChooserClass)) +#define GOSSIP_IS_PRESENCE_CHOOSER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_PRESENCE_CHOOSER)) +#define GOSSIP_IS_PRESENCE_CHOOSER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_PRESENCE_CHOOSER)) +#define GOSSIP_PRESENCE_CHOOSER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_PRESENCE_CHOOSER, GossipPresenceChooserClass)) + +typedef struct _GossipPresenceChooser GossipPresenceChooser; +typedef struct _GossipPresenceChooserClass GossipPresenceChooserClass; + +struct _GossipPresenceChooser { + GtkToggleButton parent; +}; + +struct _GossipPresenceChooserClass { + GtkToggleButtonClass parent_class; +}; + +GType gossip_presence_chooser_get_type (void) G_GNUC_CONST; +GtkWidget *gossip_presence_chooser_new (void); +GtkWidget *gossip_presence_chooser_create_menu (void); +void gossip_presence_chooser_flash_start (GossipPresenceChooser *chooser, + McPresence state_1, + McPresence state_2); +void gossip_presence_chooser_flash_stop (GossipPresenceChooser *chooser, + McPresence state); +gboolean gossip_presence_chooser_is_flashing (GossipPresenceChooser *chooser); + +G_END_DECLS + +#endif /* __GOSSIP_PRESENCE_CHOOSER_H__ */ + diff --git a/trunk/libempathy-gtk/gossip-private-chat.c b/trunk/libempathy-gtk/gossip-private-chat.c new file mode 100644 index 000000000..12e83dccc --- /dev/null +++ b/trunk/libempathy-gtk/gossip-private-chat.c @@ -0,0 +1,374 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2002-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Geert-Jan Van den Bogaerde <geertjan@gnome.org> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include <string.h> + +#include <gtk/gtk.h> +#include <glade/glade.h> +#include <glib/gi18n.h> + +#include <libempathy/gossip-debug.h> +#include <libempathy/empathy-tp-chat.h> +#include <libempathy/empathy-tp-contact-list.h> +#include <libempathy/empathy-contact-manager.h> +//#include <libgossip/gossip-log.h> + +#include "gossip-private-chat.h" +#include "gossip-chat-view.h" +#include "gossip-chat.h" +#include "gossip-preferences.h" +//#include "gossip-sound.h" +#include "empathy-images.h" +#include "gossip-ui-utils.h" + +#define DEBUG_DOMAIN "PrivateChat" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_PRIVATE_CHAT, GossipPrivateChatPriv)) + +struct _GossipPrivateChatPriv { + GossipContact *contact; + gchar *name; + + gboolean is_online; + + GtkWidget *widget; + GtkWidget *text_view_sw; +}; + +static void gossip_private_chat_class_init (GossipPrivateChatClass *klass); +static void gossip_private_chat_init (GossipPrivateChat *chat); +static void private_chat_finalize (GObject *object); +static void private_chat_create_ui (GossipPrivateChat *chat); +static void private_chat_contact_presence_updated_cb (GossipContact *contact, + GParamSpec *param, + GossipPrivateChat *chat); +static void private_chat_contact_updated_cb (GossipContact *contact, + GParamSpec *param, + GossipPrivateChat *chat); +static void private_chat_widget_destroy_cb (GtkWidget *widget, + GossipPrivateChat *chat); +static const gchar * private_chat_get_name (GossipChat *chat); +static gchar * private_chat_get_tooltip (GossipChat *chat); +static const gchar * private_chat_get_status_icon_name (GossipChat *chat); +static GtkWidget * private_chat_get_widget (GossipChat *chat); + +G_DEFINE_TYPE (GossipPrivateChat, gossip_private_chat, GOSSIP_TYPE_CHAT); + +static void +gossip_private_chat_class_init (GossipPrivateChatClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GossipChatClass *chat_class = GOSSIP_CHAT_CLASS (klass); + + object_class->finalize = private_chat_finalize; + + chat_class->get_name = private_chat_get_name; + chat_class->get_tooltip = private_chat_get_tooltip; + chat_class->get_status_icon_name = private_chat_get_status_icon_name; + chat_class->get_widget = private_chat_get_widget; + + g_type_class_add_private (object_class, sizeof (GossipPrivateChatPriv)); +} + +static void +gossip_private_chat_init (GossipPrivateChat *chat) +{ + GossipPrivateChatPriv *priv; + + priv = GET_PRIV (chat); + + priv->is_online = FALSE; + + private_chat_create_ui (chat); +} + +static void +private_chat_finalize (GObject *object) +{ + GossipPrivateChat *chat; + GossipPrivateChatPriv *priv; + + chat = GOSSIP_PRIVATE_CHAT (object); + priv = GET_PRIV (chat); + + g_signal_handlers_disconnect_by_func (priv->contact, + private_chat_contact_updated_cb, + chat); + g_signal_handlers_disconnect_by_func (priv->contact, + private_chat_contact_presence_updated_cb, + chat); + + if (priv->contact) { + g_object_unref (priv->contact); + } + + g_free (priv->name); + + G_OBJECT_CLASS (gossip_private_chat_parent_class)->finalize (object); +} + +static void +private_chat_create_ui (GossipPrivateChat *chat) +{ + GladeXML *glade; + GossipPrivateChatPriv *priv; + GtkWidget *input_text_view_sw; + + priv = GET_PRIV (chat); + + glade = gossip_glade_get_file ("gossip-chat.glade", + "chat_widget", + NULL, + "chat_widget", &priv->widget, + "chat_view_sw", &priv->text_view_sw, + "input_text_view_sw", &input_text_view_sw, + NULL); + + gossip_glade_connect (glade, + chat, + "chat_widget", "destroy", private_chat_widget_destroy_cb, + NULL); + + g_object_unref (glade); + + g_object_set_data (G_OBJECT (priv->widget), "chat", g_object_ref (chat)); + + gtk_container_add (GTK_CONTAINER (priv->text_view_sw), + GTK_WIDGET (GOSSIP_CHAT (chat)->view)); + gtk_widget_show (GTK_WIDGET (GOSSIP_CHAT (chat)->view)); + + gtk_container_add (GTK_CONTAINER (input_text_view_sw), + GOSSIP_CHAT (chat)->input_text_view); + gtk_widget_show (GOSSIP_CHAT (chat)->input_text_view); +} + +static void +private_chat_contact_presence_updated_cb (GossipContact *contact, + GParamSpec *param, + GossipPrivateChat *chat) +{ + GossipPrivateChatPriv *priv; + + priv = GET_PRIV (chat); + + gossip_debug (DEBUG_DOMAIN, "Presence update for contact: %s", + gossip_contact_get_id (contact)); + + if (!gossip_contact_is_online (contact)) { + if (priv->is_online) { + gchar *msg; + + msg = g_strdup_printf (_("%s went offline"), + gossip_contact_get_name (priv->contact)); + gossip_chat_view_append_event (GOSSIP_CHAT (chat)->view, msg); + g_free (msg); + } + + priv->is_online = FALSE; + + g_signal_emit_by_name (chat, "composing", FALSE); + + } else { + if (!priv->is_online) { + gchar *msg; + + msg = g_strdup_printf (_("%s has come online"), + gossip_contact_get_name (priv->contact)); + gossip_chat_view_append_event (GOSSIP_CHAT (chat)->view, msg); + g_free (msg); + } + + priv->is_online = TRUE; + } + + g_signal_emit_by_name (chat, "status-changed"); +} + +static void +private_chat_contact_updated_cb (GossipContact *contact, + GParamSpec *param, + GossipPrivateChat *chat) +{ + GossipPrivateChatPriv *priv; + + priv = GET_PRIV (chat); + + if (strcmp (priv->name, gossip_contact_get_name (contact)) != 0) { + g_free (priv->name); + priv->name = g_strdup (gossip_contact_get_name (contact)); + g_signal_emit_by_name (chat, "name-changed", priv->name); + } +} + +static void +private_chat_widget_destroy_cb (GtkWidget *widget, + GossipPrivateChat *chat) +{ + gossip_debug (DEBUG_DOMAIN, "Destroyed"); + + g_object_unref (chat); +} + +static const gchar * +private_chat_get_name (GossipChat *chat) +{ + GossipPrivateChatPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_PRIVATE_CHAT (chat), NULL); + + priv = GET_PRIV (chat); + + return priv->name; +} + +static gchar * +private_chat_get_tooltip (GossipChat *chat) +{ + GossipPrivateChatPriv *priv; + const gchar *status; + + g_return_val_if_fail (GOSSIP_IS_PRIVATE_CHAT (chat), NULL); + + priv = GET_PRIV (chat); + + status = gossip_contact_get_status (priv->contact); + + return g_strdup_printf ("%s\n%s", + gossip_contact_get_id (priv->contact), + status); +} + +static const gchar * +private_chat_get_status_icon_name (GossipChat *chat) +{ + GossipPrivateChatPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_PRIVATE_CHAT (chat), NULL); + + priv = GET_PRIV (chat); + + return gossip_icon_name_for_contact (priv->contact); +} + +GossipContact * +gossip_private_chat_get_contact (GossipPrivateChat *chat) +{ + GossipPrivateChatPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_PRIVATE_CHAT (chat), NULL); + + priv = GET_PRIV (chat); + + return priv->contact; +} + +static GtkWidget * +private_chat_get_widget (GossipChat *chat) +{ + GossipPrivateChatPriv *priv; + + priv = GET_PRIV (chat); + + return priv->widget; +} + +static void +private_chat_setup (GossipPrivateChat *chat, + GossipContact *contact, + EmpathyTpChat *tp_chat) +{ + GossipPrivateChatPriv *priv; + + priv = GET_PRIV (chat); + + gossip_chat_set_tp_chat (GOSSIP_CHAT (chat), tp_chat); + + priv->contact = g_object_ref (contact); + GOSSIP_CHAT (chat)->account = g_object_ref (gossip_contact_get_account (contact)); + + priv->name = g_strdup (gossip_contact_get_name (contact)); + + g_signal_connect (priv->contact, + "notify::name", + G_CALLBACK (private_chat_contact_updated_cb), + chat); + g_signal_connect (priv->contact, + "notify::presence", + G_CALLBACK (private_chat_contact_presence_updated_cb), + chat); + + priv->is_online = gossip_contact_is_online (priv->contact); +} + +GossipPrivateChat * +gossip_private_chat_new (McAccount *account, + TpChan *tp_chan) +{ + GossipPrivateChat *chat; + EmpathyTpChat *tp_chat; + EmpathyContactManager *manager; + EmpathyTpContactList *list; + GossipContact *contact; + + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + g_return_val_if_fail (TELEPATHY_IS_CHAN (tp_chan), NULL); + + manager = empathy_contact_manager_new (); + list = empathy_contact_manager_get_list (manager, account); + contact = empathy_tp_contact_list_get_from_handle (list, tp_chan->handle); + + chat = g_object_new (GOSSIP_TYPE_PRIVATE_CHAT, NULL); + tp_chat = empathy_tp_chat_new (account, tp_chan); + + private_chat_setup (chat, contact, tp_chat); + + g_object_unref (tp_chat); + g_object_unref (contact); + g_object_unref (manager); + + return chat; +} + +GossipPrivateChat * +gossip_private_chat_new_with_contact (GossipContact *contact) +{ + GossipPrivateChat *chat; + EmpathyTpChat *tp_chat; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), NULL); + + chat = g_object_new (GOSSIP_TYPE_PRIVATE_CHAT, NULL); + tp_chat = empathy_tp_chat_new_with_contact (contact); + + private_chat_setup (chat, contact, tp_chat); + g_object_unref (tp_chat); + + return chat; +} + diff --git a/trunk/libempathy-gtk/gossip-private-chat.h b/trunk/libempathy-gtk/gossip-private-chat.h new file mode 100644 index 000000000..326d0f60e --- /dev/null +++ b/trunk/libempathy-gtk/gossip-private-chat.h @@ -0,0 +1,68 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2002-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Geert-Jan Van den Bogaerde <geertjan@gnome.org> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_PRIVATE_CHAT_H__ +#define __GOSSIP_PRIVATE_CHAT_H__ + +#include <libtelepathy/tp-chan.h> + +#include <libmissioncontrol/mc-account.h> + +#include <libempathy/gossip-contact.h> + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_PRIVATE_CHAT (gossip_private_chat_get_type ()) +#define GOSSIP_PRIVATE_CHAT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_PRIVATE_CHAT, GossipPrivateChat)) +#define GOSSIP_PRIVATE_CHAT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOSSIP_TYPE_PRIVATE_CHAT, GossipPrivateChatClass)) +#define GOSSIP_IS_PRIVATE_CHAT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_PRIVATE_CHAT)) +#define GOSSIP_IS_PRIVATE_CHAT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_PRIVATE_CHAT)) +#define GOSSIP_PRIVATE_CHAT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_PRIVATE_CHAT, GossipPrivateChatClass)) + +typedef struct _GossipPrivateChat GossipPrivateChat; +typedef struct _GossipPrivateChatClass GossipPrivateChatClass; +typedef struct _GossipPrivateChatPriv GossipPrivateChatPriv; + +#include "gossip-chat.h" + +struct _GossipPrivateChat { + GossipChat parent; +}; + +struct _GossipPrivateChatClass { + GossipChatClass parent; +}; + +GType gossip_private_chat_get_type (void); +GossipPrivateChat * gossip_private_chat_new (McAccount *account, + TpChan *tp_chan); +GossipPrivateChat * gossip_private_chat_new_with_contact (GossipContact *contact); +GossipContact * gossip_private_chat_get_contact (GossipPrivateChat *chat); + +G_END_DECLS + +#endif /* __GOSSIP_PRIVATE_CHAT_H__ */ diff --git a/trunk/libempathy-gtk/gossip-profile-chooser.c b/trunk/libempathy-gtk/gossip-profile-chooser.c new file mode 100644 index 000000000..b55002896 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-profile-chooser.c @@ -0,0 +1,106 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <gtk/gtk.h> +#include <libmissioncontrol/mc-profile.h> + +#include <libempathy-gtk/gossip-ui-utils.h> + +#include "gossip-profile-chooser.h" + +enum { + COL_ICON, + COL_LABEL, + COL_PROFILE, + COL_COUNT +}; + +McProfile* +gossip_profile_chooser_get_selected (GtkWidget *widget) +{ + GtkTreeModel *model; + GtkTreeIter iter; + McProfile *profile = NULL; + + model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget)); + if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter)) { + gtk_tree_model_get (model, &iter, + COL_PROFILE, &profile, + -1); + } + + return profile; +} + +GtkWidget * +gossip_profile_chooser_new (void) +{ + GList *profiles, *l; + GtkListStore *store; + GtkCellRenderer *renderer; + GtkWidget *combo_box; + GtkTreeIter iter; + + /* set up combo box with new store */ + store = gtk_list_store_new (COL_COUNT, + G_TYPE_STRING, /* Icon name */ + G_TYPE_STRING, /* Label */ + MC_TYPE_PROFILE); /* Profile */ + combo_box = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store)); + + + renderer = gtk_cell_renderer_pixbuf_new (); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), renderer, FALSE); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer, + "icon-name", COL_ICON, + NULL); + g_object_set (renderer, "stock-size", GTK_ICON_SIZE_BUTTON, NULL); + + renderer = gtk_cell_renderer_text_new (); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), renderer, TRUE); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer, + "text", COL_LABEL, + NULL); + + profiles = mc_profiles_list (); + for (l = profiles; l; l = l->next) { + McProfile *profile; + + profile = l->data; + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + COL_ICON, mc_profile_get_icon_name (profile), + COL_LABEL, mc_profile_get_display_name (profile), + COL_PROFILE, profile, + -1); + gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combo_box), &iter); + } + + mc_profiles_free_list (profiles); + g_object_unref (store); + + return combo_box; +} + diff --git a/trunk/libempathy-gtk/gossip-profile-chooser.h b/trunk/libempathy-gtk/gossip-profile-chooser.h new file mode 100644 index 000000000..a563109a0 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-profile-chooser.h @@ -0,0 +1,34 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_PROTOCOL_CHOOSER_H__ +#define __GOSSIP_PROTOCOL_CHOOSER_H__ + +#include <libmissioncontrol/mc-profile.h> + +G_BEGIN_DECLS + +GtkWidget * gossip_profile_chooser_new (void); +McProfile * gossip_profile_chooser_get_selected (GtkWidget *widget); + +G_END_DECLS +#endif /* __GOSSIP_PROTOCOL_CHOOSER_H__ */ diff --git a/trunk/libempathy-gtk/gossip-spell.c b/trunk/libempathy-gtk/gossip-spell.c new file mode 100644 index 000000000..db06e9f1d --- /dev/null +++ b/trunk/libempathy-gtk/gossip-spell.c @@ -0,0 +1,457 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004-2007 Imendio AB + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + * Richard Hult <richard@imendio.com> + */ + +#include "config.h" + +#include <string.h> +#include <stdlib.h> + +#include <glib/gi18n.h> + +#ifdef HAVE_ASPELL +#include <aspell.h> +#endif + +#include <libempathy/gossip-debug.h> +#include <libempathy/gossip-conf.h> + +#include "gossip-spell.h" +#include "gossip-preferences.h" + +#define DEBUG_DOMAIN "Spell" + +#ifdef HAVE_ASPELL + +/* Note: We could use aspell_reset_cache (NULL); periodically if we wanted + * to... + */ + +typedef struct { + AspellConfig *spell_config; + AspellCanHaveError *spell_possible_err; + AspellSpeller *spell_checker; +} SpellLanguage; + +#define ISO_CODES_DATADIR ISO_CODES_PREFIX "/share/xml/iso-codes" +#define ISO_CODES_LOCALESDIR ISO_CODES_PREFIX "/share/locale" + +static GHashTable *iso_code_names = NULL; +static GList *languages = NULL; +static gboolean gossip_conf_notify_inited = FALSE; + +static void +spell_iso_codes_parse_start_tag (GMarkupParseContext *ctx, + const gchar *element_name, + const gchar **attr_names, + const gchar **attr_values, + gpointer data, + GError **error) +{ + const gchar *ccode_longB, *ccode_longT, *ccode; + const gchar *lang_name; + + if (!g_str_equal (element_name, "iso_639_entry") || + attr_names == NULL || attr_values == NULL) { + return; + } + + ccode = NULL; + ccode_longB = NULL; + ccode_longT = NULL; + lang_name = NULL; + + while (*attr_names && *attr_values) { + if (g_str_equal (*attr_names, "iso_639_1_code")) { + if (**attr_values) { + ccode = *attr_values; + } + } + else if (g_str_equal (*attr_names, "iso_639_2B_code")) { + if (**attr_values) { + ccode_longB = *attr_values; + } + } + else if (g_str_equal (*attr_names, "iso_639_2T_code")) { + if (**attr_values) { + ccode_longT = *attr_values; + } + } + else if (g_str_equal (*attr_names, "name")) { + lang_name = *attr_values; + } + + attr_names++; + attr_values++; + } + + if (!lang_name) { + return; + } + + if (ccode) { + g_hash_table_insert (iso_code_names, + g_strdup (ccode), + g_strdup (lang_name)); + } + + if (ccode_longB) { + g_hash_table_insert (iso_code_names, + g_strdup (ccode_longB), + g_strdup (lang_name)); + } + + if (ccode_longT) { + g_hash_table_insert (iso_code_names, + g_strdup (ccode_longT), + g_strdup (lang_name)); + } +} + +static void +spell_iso_code_names_init (void) +{ + GError *err = NULL; + gchar *buf; + gsize buf_len; + + iso_code_names = g_hash_table_new_full (g_str_hash, g_str_equal, + g_free, g_free); + + bindtextdomain ("iso_639", ISO_CODES_LOCALESDIR); + bind_textdomain_codeset ("iso_639", "UTF-8"); + + /* FIXME: We should read this in chunks and pass to the parser. */ + if (g_file_get_contents (ISO_CODES_DATADIR "/iso_639.xml", &buf, &buf_len, &err)) { + GMarkupParseContext *ctx; + GMarkupParser parser = { + spell_iso_codes_parse_start_tag, + NULL, NULL, NULL, NULL + }; + + ctx = g_markup_parse_context_new (&parser, 0, NULL, NULL); + if (!g_markup_parse_context_parse (ctx, buf, buf_len, &err)) { + g_warning ("Failed to parse '%s': %s", + ISO_CODES_DATADIR"/iso_639.xml", + err->message); + g_error_free (err); + } + + g_markup_parse_context_free (ctx); + g_free (buf); + } else { + g_warning ("Failed to load '%s': %s", + ISO_CODES_DATADIR"/iso_639.xml", err->message); + g_error_free (err); + } +} + +static void +spell_notify_languages_cb (GossipConf *conf, + const gchar *key, + gpointer user_data) +{ + GList *l; + + gossip_debug (DEBUG_DOMAIN, "Resetting languages due to config change"); + + /* We just reset the languages list. */ + for (l = languages; l; l = l->next) { + SpellLanguage *lang; + + lang = l->data; + + delete_aspell_config (lang->spell_config); + delete_aspell_speller (lang->spell_checker); + + g_slice_free (SpellLanguage, lang); + } + + g_list_free (languages); + languages = NULL; +} + +static void +spell_setup_languages (void) +{ + gchar *str; + + if (!gossip_conf_notify_inited) { + gossip_conf_notify_add (gossip_conf_get (), + GOSSIP_PREFS_CHAT_SPELL_CHECKER_LANGUAGES, + spell_notify_languages_cb, NULL); + + gossip_conf_notify_inited = TRUE; + } + + if (languages) { + gossip_debug (DEBUG_DOMAIN, "No languages to setup"); + return; + } + + if (gossip_conf_get_string (gossip_conf_get (), + GOSSIP_PREFS_CHAT_SPELL_CHECKER_LANGUAGES, + &str) && str) { + gchar **strv; + gint i; + + strv = g_strsplit (str, ",", -1); + + i = 0; + while (strv && strv[i]) { + SpellLanguage *lang; + + gossip_debug (DEBUG_DOMAIN, "Setting up language:'%s'", strv[i]); + + lang = g_slice_new0 (SpellLanguage); + + lang->spell_config = new_aspell_config(); + + aspell_config_replace (lang->spell_config, "encoding", "utf-8"); + aspell_config_replace (lang->spell_config, "lang", strv[i++]); + + lang->spell_possible_err = new_aspell_speller (lang->spell_config); + + if (aspell_error_number (lang->spell_possible_err) == 0) { + lang->spell_checker = to_aspell_speller (lang->spell_possible_err); + languages = g_list_append (languages, lang); + } else { + delete_aspell_config (lang->spell_config); + g_slice_free (SpellLanguage, lang); + } + } + + if (strv) { + g_strfreev (strv); + } + + g_free (str); + } +} + +const char * +gossip_spell_get_language_name (const char *code) +{ + const gchar *name; + + g_return_val_if_fail (code != NULL, NULL); + + if (!iso_code_names) { + spell_iso_code_names_init (); + } + + name = g_hash_table_lookup (iso_code_names, code); + if (!name) { + return NULL; + } + + return dgettext ("iso_639", name); +} + +GList * +gossip_spell_get_language_codes (void) +{ + AspellConfig *config; + AspellDictInfoList *dlist; + AspellDictInfoEnumeration *dels; + const AspellDictInfo *entry; + GList *codes = NULL; + + config = new_aspell_config (); + dlist = get_aspell_dict_info_list (config); + dels = aspell_dict_info_list_elements (dlist); + + while ((entry = aspell_dict_info_enumeration_next (dels)) != 0) { + if (g_list_find_custom (codes, entry->code, (GCompareFunc) strcmp)) { + continue; + } + + codes = g_list_append (codes, g_strdup (entry->code)); + } + + delete_aspell_dict_info_enumeration (dels); + delete_aspell_config (config); + + return codes; +} + +void +gossip_spell_free_language_codes (GList *codes) +{ + g_list_foreach (codes, (GFunc) g_free, NULL); + g_list_free (codes); +} + +gboolean +gossip_spell_check (const gchar *word) +{ + GList *l; + gint n_langs; + gboolean correct = FALSE; + gint len; + const gchar *p; + gunichar c; + gboolean digit; + + g_return_val_if_fail (word != NULL, FALSE); + + spell_setup_languages (); + + if (!languages) { + gossip_debug (DEBUG_DOMAIN, "No languages to check against"); + return TRUE; + } + + /* Ignore certain cases like numbers, etc. */ + for (p = word, digit = TRUE; *p && digit; p = g_utf8_next_char (p)) { + c = g_utf8_get_char (p); + digit = g_unichar_isdigit (c); + } + + if (digit) { + /* We don't spell check digits. */ + gossip_debug (DEBUG_DOMAIN, "Not spell checking word:'%s', it is all digits", word); + return TRUE; + } + + len = strlen (word); + n_langs = g_list_length (languages); + for (l = languages; l; l = l->next) { + SpellLanguage *lang; + + lang = l->data; + + correct = aspell_speller_check (lang->spell_checker, word, len); + if (n_langs > 1 && correct) { + break; + } + } + + return correct; +} + +GList * +gossip_spell_get_suggestions (const gchar *word) +{ + GList *l1; + GList *l2 = NULL; + const AspellWordList *suggestions; + AspellStringEnumeration *elements; + const char *next; + gint len; + + g_return_val_if_fail (word != NULL, NULL); + + spell_setup_languages (); + + len = strlen (word); + + for (l1 = languages; l1; l1 = l1->next) { + SpellLanguage *lang; + + lang = l1->data; + + suggestions = aspell_speller_suggest (lang->spell_checker, + word, len); + + elements = aspell_word_list_elements (suggestions); + + while ((next = aspell_string_enumeration_next (elements))) { + l2 = g_list_append (l2, g_strdup (next)); + } + + delete_aspell_string_enumeration (elements); + } + + return l2; +} + +gboolean +gossip_spell_supported (void) +{ + if (g_getenv ("GOSSIP_SPELL_DISABLED")) { + gossip_debug (DEBUG_DOMAIN, "GOSSIP_SPELL_DISABLE env variable defined"); + return FALSE; + } + + gossip_debug (DEBUG_DOMAIN, "Support enabled"); + + return TRUE; +} + +#else /* not HAVE_ASPELL */ + +gboolean +gossip_spell_supported (void) +{ + gossip_debug (DEBUG_DOMAIN, "Support disabled"); + + return FALSE; +} + +GList * +gossip_spell_get_suggestions (const gchar *word) +{ + gossip_debug (DEBUG_DOMAIN, "Support disabled, could not get suggestions"); + + return NULL; +} + +gboolean +gossip_spell_check (const gchar *word) +{ + gossip_debug (DEBUG_DOMAIN, "Support disabled, could not check spelling"); + + return TRUE; +} + +const char * +gossip_spell_get_language_name (const char *lang) +{ + gossip_debug (DEBUG_DOMAIN, "Support disabled, could not get language name"); + + return NULL; +} + +GList * +gossip_spell_get_language_codes (void) +{ + gossip_debug (DEBUG_DOMAIN, "Support disabled, could not get language codes"); + + return NULL; +} + +void +gossip_spell_free_language_codes (GList *codes) +{ +} + +#endif /* HAVE_ASPELL */ + + +void +gossip_spell_free_suggestions (GList *suggestions) +{ + g_list_foreach (suggestions, (GFunc) g_free, NULL); + g_list_free (suggestions); +} + diff --git a/trunk/libempathy-gtk/gossip-spell.h b/trunk/libempathy-gtk/gossip-spell.h new file mode 100644 index 000000000..f2d841b3a --- /dev/null +++ b/trunk/libempathy-gtk/gossip-spell.h @@ -0,0 +1,39 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004-2007 Imendio AB + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + * Richard Hult <richard@imendio.com> + */ + +#ifndef __GOSSIP_SPELL_H__ +#define __GOSSIP_SPELL_H__ + +G_BEGIN_DECLS + +gboolean gossip_spell_supported (void); +const gchar *gossip_spell_get_language_name (const gchar *code); +GList *gossip_spell_get_language_codes (void); +void gossip_spell_free_language_codes (GList *codes); +gboolean gossip_spell_check (const gchar *word); +GList * gossip_spell_get_suggestions (const gchar *word); +void gossip_spell_free_suggestions (GList *suggestions); + +G_END_DECLS + +#endif /* __GOSSIP_SPELL_H__ */ diff --git a/trunk/libempathy-gtk/gossip-status-presets.c b/trunk/libempathy-gtk/gossip-status-presets.c new file mode 100644 index 000000000..b27238d4f --- /dev/null +++ b/trunk/libempathy-gtk/gossip-status-presets.c @@ -0,0 +1,389 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * + * 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. + * + * Author: Martyn Russell <martyn@imendio.com> + */ + +#include "config.h" + +#include <sys/types.h> +#include <sys/stat.h> +#include <string.h> + +#include <glib.h> +#include <glib/gi18n.h> + +#include <libxml/parser.h> +#include <libxml/tree.h> + +#include <libempathy/gossip-debug.h> +#include <libempathy/gossip-utils.h> + +#include "gossip-status-presets.h" + +#define DEBUG_DOMAIN "StatusPresets" + +#define STATUS_PRESETS_XML_FILENAME "status-presets.xml" +#define STATUS_PRESETS_DTD_FILENAME "gossip-status-presets.dtd" +#define STATUS_PRESETS_MAX_EACH 15 + +typedef struct { + gchar *status; + McPresence state; +} StatusPreset; + +static StatusPreset *status_preset_new (McPresence state, + const gchar *status); +static void status_preset_free (StatusPreset *status); +static void status_presets_file_parse (const gchar *filename); +const gchar * status_presets_get_state_as_str (McPresence state); +static gboolean status_presets_file_save (void); +static void status_presets_set_default (McPresence state, + const gchar *status); + +static GList *presets = NULL; +static StatusPreset *default_preset = NULL; + +static StatusPreset * +status_preset_new (McPresence state, + const gchar *status) +{ + StatusPreset *preset; + + preset = g_new0 (StatusPreset, 1); + + preset->status = g_strdup (status); + preset->state = state; + + return preset; +} + +static void +status_preset_free (StatusPreset *preset) +{ + g_free (preset->status); + g_free (preset); +} + +static void +status_presets_file_parse (const gchar *filename) +{ + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + xmlNodePtr presets_node; + xmlNodePtr node; + + gossip_debug (DEBUG_DOMAIN, "Attempting to parse file:'%s'...", filename); + + ctxt = xmlNewParserCtxt (); + + /* Parse and validate the file. */ + doc = xmlCtxtReadFile (ctxt, filename, NULL, 0); + if (!doc) { + g_warning ("Failed to parse file:'%s'", filename); + xmlFreeParserCtxt (ctxt); + return; + } + + if (!gossip_xml_validate (doc, STATUS_PRESETS_DTD_FILENAME)) { + g_warning ("Failed to validate file:'%s'", filename); + xmlFreeDoc(doc); + xmlFreeParserCtxt (ctxt); + return; + } + + /* The root node, presets. */ + presets_node = xmlDocGetRootElement (doc); + + node = presets_node->children; + while (node) { + if (strcmp ((gchar *) node->name, "status") == 0 || + strcmp ((gchar *) node->name, "default") == 0) { + McPresence state; + gchar *status; + gchar *state_str; + StatusPreset *preset; + gboolean is_default = FALSE; + + if (strcmp ((gchar *) node->name, "default") == 0) { + is_default = TRUE; + } + + status = (gchar *) xmlNodeGetContent (node); + state_str = (gchar *) xmlGetProp (node, "presence"); + + if (state_str) { + state = gossip_presence_state_from_str (state_str); + + if (is_default) { + gossip_debug (DEBUG_DOMAIN, + "Default status preset state is:'%s', status:'%s'", + state_str, status); + + status_presets_set_default (state, status); + } else { + preset = status_preset_new (state, status); + presets = g_list_append (presets, preset); + } + } + + xmlFree (status); + xmlFree (state_str); + } + + node = node->next; + } + + /* Use the default if not set */ + if (!default_preset) { + status_presets_set_default (MC_PRESENCE_OFFLINE, NULL); + } + + gossip_debug (DEBUG_DOMAIN, "Parsed %d status presets", g_list_length (presets)); + + xmlFreeDoc (doc); + xmlFreeParserCtxt (ctxt); +} + +void +gossip_status_presets_get_all (void) +{ + gchar *dir; + gchar *file_with_path; + + /* If already set up clean up first. */ + if (presets) { + g_list_foreach (presets, (GFunc) status_preset_free, NULL); + g_list_free (presets); + presets = NULL; + } + + dir = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, NULL); + g_mkdir_with_parents (dir, S_IRUSR | S_IWUSR | S_IXUSR); + file_with_path = g_build_filename (dir, STATUS_PRESETS_XML_FILENAME, NULL); + g_free (dir); + + if (g_file_test (file_with_path, G_FILE_TEST_EXISTS)) { + status_presets_file_parse (file_with_path); + } + + g_free (file_with_path); +} + +static gboolean +status_presets_file_save (void) +{ + xmlDocPtr doc; + xmlNodePtr root; + GList *l; + gchar *dir; + gchar *file; + gint count[LAST_MC_PRESENCE]; + gint i; + + for (i = 0; i < LAST_MC_PRESENCE; i++) { + count[i] = 0; + } + + dir = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, NULL); + g_mkdir_with_parents (dir, S_IRUSR | S_IWUSR | S_IXUSR); + file = g_build_filename (dir, STATUS_PRESETS_XML_FILENAME, NULL); + g_free (dir); + + doc = xmlNewDoc ("1.0"); + root = xmlNewNode (NULL, "presets"); + xmlDocSetRootElement (doc, root); + + if (default_preset) { + xmlNodePtr subnode; + xmlChar *state; + + state = (gchar*) gossip_presence_state_to_str (default_preset->state); + + subnode = xmlNewTextChild (root, NULL, "default", + default_preset->status); + xmlNewProp (subnode, "presence", state); + } + + for (l = presets; l; l = l->next) { + StatusPreset *sp; + xmlNodePtr subnode; + xmlChar *state; + + sp = l->data; + state = (gchar*) gossip_presence_state_to_str (sp->state); + + count[sp->state]++; + if (count[sp->state] > STATUS_PRESETS_MAX_EACH) { + continue; + } + + subnode = xmlNewTextChild (root, NULL, + "status", sp->status); + xmlNewProp (subnode, "presence", state); + } + + /* Make sure the XML is indented properly */ + xmlIndentTreeOutput = 1; + + gossip_debug (DEBUG_DOMAIN, "Saving file:'%s'", file); + xmlSaveFormatFileEnc (file, doc, "utf-8", 1); + xmlFreeDoc (doc); + + g_free (file); + + return TRUE; +} + +GList * +gossip_status_presets_get (McPresence state, + gint max_number) +{ + GList *list = NULL; + GList *l; + gint i; + + i = 0; + for (l = presets; l; l = l->next) { + StatusPreset *sp; + + sp = l->data; + + if (sp->state != state) { + continue; + } + + list = g_list_append (list, sp->status); + i++; + + if (max_number != -1 && i >= max_number) { + break; + } + } + + return list; +} + +void +gossip_status_presets_set_last (McPresence state, + const gchar *status) +{ + GList *l; + StatusPreset *preset; + gint num; + + /* Remove any duplicate. */ + for (l = presets; l; l = l->next) { + preset = l->data; + + if (state == preset->state) { + if (strcmp (status, preset->status) == 0) { + status_preset_free (preset); + presets = g_list_delete_link (presets, l); + break; + } + } + } + + preset = status_preset_new (state, status); + presets = g_list_prepend (presets, preset); + + num = 0; + for (l = presets; l; l = l->next) { + preset = l->data; + + if (state != preset->state) { + continue; + } + + num++; + + if (num > STATUS_PRESETS_MAX_EACH) { + status_preset_free (preset); + presets = g_list_delete_link (presets, l); + break; + } + } + + status_presets_file_save (); +} + +void +gossip_status_presets_reset (void) +{ + g_list_foreach (presets, (GFunc) status_preset_free, NULL); + g_list_free (presets); + + presets = NULL; + + status_presets_set_default (MC_PRESENCE_AVAILABLE, NULL); + + status_presets_file_save (); +} + +McPresence +gossip_status_presets_get_default_state (void) +{ + if (!default_preset) { + return MC_PRESENCE_OFFLINE; + } + + return default_preset->state; +} + +const gchar * +gossip_status_presets_get_default_status (void) +{ + if (!default_preset || + !default_preset->status) { + return NULL; + } + + return default_preset->status; +} + +static void +status_presets_set_default (McPresence state, + const gchar *status) +{ + if (default_preset) { + status_preset_free (default_preset); + } + + default_preset = status_preset_new (state, status); +} + +void +gossip_status_presets_set_default (McPresence state, + const gchar *status) +{ + status_presets_set_default (state, status); + status_presets_file_save (); +} + +void +gossip_status_presets_clear_default (void) +{ + if (default_preset) { + status_preset_free (default_preset); + default_preset = NULL; + } + + status_presets_file_save (); +} diff --git a/trunk/libempathy-gtk/gossip-status-presets.dtd b/trunk/libempathy-gtk/gossip-status-presets.dtd new file mode 100644 index 000000000..b7acc9620 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-status-presets.dtd @@ -0,0 +1,14 @@ +<!-- + DTD for Gossips status presets. + by Martyn Russell <martyn@imendio.com> +--> + +<!-- Root element. --> +<!ELEMENT presets ((default?),status*)> + +<!ELEMENT default (#PCDATA)> +<!ATTLIST default presence CDATA #REQUIRED> + +<!ELEMENT status (#PCDATA)> +<!ATTLIST status presence CDATA #REQUIRED> + diff --git a/trunk/libempathy-gtk/gossip-status-presets.h b/trunk/libempathy-gtk/gossip-status-presets.h new file mode 100644 index 000000000..4b2d92555 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-status-presets.h @@ -0,0 +1,44 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * + * 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. + * + * Author: Martyn Russell <martyn@imendio.com> + */ + +#ifndef __GOSSIP_STATUS_PRESETS_H__ +#define __GOSSIP_STATUS_PRESETS_H__ + +#include <libempathy/gossip-presence.h> + +G_BEGIN_DECLS + +void gossip_status_presets_get_all (void); +GList * gossip_status_presets_get (McPresence state, + gint max_number); +void gossip_status_presets_set_last (McPresence state, + const gchar *status); +void gossip_status_presets_reset (void); +McPresence gossip_status_presets_get_default_state (void); +const gchar * gossip_status_presets_get_default_status (void); +void gossip_status_presets_set_default (McPresence state, + const gchar *status); +void gossip_status_presets_clear_default (void); + +G_END_DECLS + +#endif /* __GOSSIP_STATUS_PRESETS_H__ */ diff --git a/trunk/libempathy-gtk/gossip-theme-manager.c b/trunk/libempathy-gtk/gossip-theme-manager.c new file mode 100644 index 000000000..6d5905e5a --- /dev/null +++ b/trunk/libempathy-gtk/gossip-theme-manager.c @@ -0,0 +1,1045 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * + * 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. + * + * Authors: Richard Hult <richard@imendio.com> + */ + +#include "config.h" + +#include <string.h> + +#include <glib/gi18n.h> +#include <gtk/gtk.h> + +#include <libempathy/gossip-conf.h> +#include <libempathy/gossip-utils.h> + +#include "gossip-chat-view.h" +#include "gossip-preferences.h" +#include "gossip-theme-manager.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_THEME_MANAGER, GossipThemeManagerPriv)) + +typedef struct { + gchar *name; + guint name_notify_id; + guint room_notify_id; + + gboolean show_avatars; + guint show_avatars_notify_id; + + gboolean irc_style; +} GossipThemeManagerPriv; + +static void theme_manager_finalize (GObject *object); +static void theme_manager_notify_name_cb (GossipConf *conf, + const gchar *key, + gpointer user_data); +static void theme_manager_notify_room_cb (GossipConf *conf, + const gchar *key, + gpointer user_data); +static void theme_manager_notify_show_avatars_cb (GossipConf *conf, + const gchar *key, + gpointer user_data); +static void theme_manager_ensure_tag_by_name (GtkTextBuffer *buffer, + const gchar *name); +static gboolean theme_manager_ensure_theme_exists (const gchar *name); +static GtkTextTag *theme_manager_init_tag_by_name (GtkTextTagTable *table, + const gchar *name); +static void theme_manager_add_tag (GtkTextTagTable *table, + GtkTextTag *tag); +static void theme_manager_fixup_tag_table (GossipThemeManager *theme_manager, + GossipChatView *view); +static void theme_manager_apply_theme_classic (GossipThemeManager *manager, + GossipChatView *view); +static void theme_manager_apply_theme_clean (GossipThemeManager *manager, + GossipChatView *view); +static void theme_manager_apply_theme_blue (GossipThemeManager *manager, + GossipChatView *view); +static void theme_manager_apply_theme (GossipThemeManager *manager, + GossipChatView *view, + const gchar *name); + +enum { + THEME_CHANGED, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +static const gchar *themes[] = { + "classic", N_("Classic"), + "simple", N_("Simple"), + "clean", N_("Clean"), + "blue", N_("Blue"), + NULL +}; + +G_DEFINE_TYPE (GossipThemeManager, gossip_theme_manager, G_TYPE_OBJECT); + +static void +gossip_theme_manager_class_init (GossipThemeManagerClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + signals[THEME_CHANGED] = + g_signal_new ("theme-changed", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); + + g_type_class_add_private (object_class, sizeof (GossipThemeManagerPriv)); + + object_class->finalize = theme_manager_finalize; +} + +static void +gossip_theme_manager_init (GossipThemeManager *manager) +{ + GossipThemeManagerPriv *priv; + + priv = GET_PRIV (manager); + + priv->name_notify_id = + gossip_conf_notify_add (gossip_conf_get (), + GOSSIP_PREFS_CHAT_THEME, + theme_manager_notify_name_cb, + manager); + + priv->room_notify_id = + gossip_conf_notify_add (gossip_conf_get (), + GOSSIP_PREFS_CHAT_THEME_CHAT_ROOM, + theme_manager_notify_room_cb, + manager); + + gossip_conf_get_string (gossip_conf_get (), + GOSSIP_PREFS_CHAT_THEME, + &priv->name); + + /* Unused right now, but will be used soon. */ + priv->show_avatars_notify_id = + gossip_conf_notify_add (gossip_conf_get (), + GOSSIP_PREFS_UI_SHOW_AVATARS, + theme_manager_notify_show_avatars_cb, + manager); + + gossip_conf_get_bool (gossip_conf_get (), + GOSSIP_PREFS_UI_SHOW_AVATARS, + &priv->show_avatars); +} + +static void +theme_manager_finalize (GObject *object) +{ + GossipThemeManagerPriv *priv; + + priv = GET_PRIV (object); + + gossip_conf_notify_remove (gossip_conf_get (), priv->name_notify_id); + gossip_conf_notify_remove (gossip_conf_get (), priv->room_notify_id); + gossip_conf_notify_remove (gossip_conf_get (), priv->show_avatars_notify_id); + + g_free (priv->name); + + G_OBJECT_CLASS (gossip_theme_manager_parent_class)->finalize (object); +} + +static void +theme_manager_notify_name_cb (GossipConf *conf, + const gchar *key, + gpointer user_data) +{ + GossipThemeManager *manager; + GossipThemeManagerPriv *priv; + gchar *name; + + manager = user_data; + priv = GET_PRIV (manager); + + g_free (priv->name); + + name = NULL; + if (!gossip_conf_get_string (conf, key, &name) || + name == NULL || name[0] == 0) { + priv->name = g_strdup ("classic"); + g_free (name); + } else { + priv->name = name; + } + + g_signal_emit (manager, signals[THEME_CHANGED], 0, NULL); +} + +static void +theme_manager_notify_room_cb (GossipConf *conf, + const gchar *key, + gpointer user_data) +{ + g_signal_emit (user_data, signals[THEME_CHANGED], 0, NULL); +} + +static void +theme_manager_notify_show_avatars_cb (GossipConf *conf, + const gchar *key, + gpointer user_data) +{ + GossipThemeManager *manager; + GossipThemeManagerPriv *priv; + gboolean value; + + manager = user_data; + priv = GET_PRIV (manager); + + if (!gossip_conf_get_bool (conf, key, &value)) { + priv->show_avatars = FALSE; + } else { + priv->show_avatars = value; + } +} + +static void +theme_manager_ensure_tag_by_name (GtkTextBuffer *buffer, + const gchar *name) +{ + GtkTextTagTable *table; + GtkTextTag *tag; + + table = gtk_text_buffer_get_tag_table (buffer); + tag = gtk_text_tag_table_lookup (table, name); + + if (!tag) { + gtk_text_buffer_create_tag (buffer, + name, + NULL); + } +} + +static gboolean +theme_manager_ensure_theme_exists (const gchar *name) +{ + gint i; + + if (G_STR_EMPTY (name)) { + return FALSE; + } + + for (i = 0; themes[i]; i += 2) { + if (strcmp (themes[i], name) == 0) { + return TRUE; + } + } + + return FALSE; +} + +static GtkTextTag * +theme_manager_init_tag_by_name (GtkTextTagTable *table, + const gchar *name) +{ + GtkTextTag *tag; + + tag = gtk_text_tag_table_lookup (table, name); + + if (!tag) { + return gtk_text_tag_new (name); + } + + /* Clear the old values so that we don't affect the new theme. */ + g_object_set (tag, + "background-set", FALSE, + "foreground-set", FALSE, + "invisible-set", FALSE, + "justification-set", FALSE, + "paragraph-background-set", FALSE, + "pixels-above-lines-set", FALSE, + "pixels-below-lines-set", FALSE, + "rise-set", FALSE, + "scale-set", FALSE, + "size-set", FALSE, + "style-set", FALSE, + "weight-set", FALSE, + NULL); + + return tag; +} + +static void +theme_manager_add_tag (GtkTextTagTable *table, + GtkTextTag *tag) +{ + gchar *name; + GtkTextTag *check_tag; + + g_object_get (tag, "name", &name, NULL); + check_tag = gtk_text_tag_table_lookup (table, name); + g_free (name); + if (check_tag) { + return; + } + + gtk_text_tag_table_add (table, tag); + + g_object_unref (tag); +} + +static void +theme_manager_fixup_tag_table (GossipThemeManager *theme_manager, + GossipChatView *view) +{ + GtkTextBuffer *buffer; + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); + + /* "Fancy" style tags. */ + theme_manager_ensure_tag_by_name (buffer, "fancy-header-self"); + theme_manager_ensure_tag_by_name (buffer, "fancy-header-self-avatar"); + theme_manager_ensure_tag_by_name (buffer, "fancy-avatar-self"); + theme_manager_ensure_tag_by_name (buffer, "fancy-line-top-self"); + theme_manager_ensure_tag_by_name (buffer, "fancy-line-bottom-self"); + theme_manager_ensure_tag_by_name (buffer, "fancy-body-self"); + theme_manager_ensure_tag_by_name (buffer, "fancy-action-self"); + theme_manager_ensure_tag_by_name (buffer, "fancy-highlight-self"); + + theme_manager_ensure_tag_by_name (buffer, "fancy-header-other"); + theme_manager_ensure_tag_by_name (buffer, "fancy-header-other-avatar"); + theme_manager_ensure_tag_by_name (buffer, "fancy-avatar-other"); + theme_manager_ensure_tag_by_name (buffer, "fancy-line-top-other"); + theme_manager_ensure_tag_by_name (buffer, "fancy-line-bottom-other"); + theme_manager_ensure_tag_by_name (buffer, "fancy-body-other"); + theme_manager_ensure_tag_by_name (buffer, "fancy-action-other"); + theme_manager_ensure_tag_by_name (buffer, "fancy-highlight-other"); + + theme_manager_ensure_tag_by_name (buffer, "fancy-spacing"); + theme_manager_ensure_tag_by_name (buffer, "fancy-time"); + theme_manager_ensure_tag_by_name (buffer, "fancy-event"); + theme_manager_ensure_tag_by_name (buffer, "fancy-invite"); + theme_manager_ensure_tag_by_name (buffer, "fancy-link"); + + /* IRC style tags. */ + theme_manager_ensure_tag_by_name (buffer, "irc-nick-self"); + theme_manager_ensure_tag_by_name (buffer, "irc-body-self"); + theme_manager_ensure_tag_by_name (buffer, "irc-action-self"); + + theme_manager_ensure_tag_by_name (buffer, "irc-nick-other"); + theme_manager_ensure_tag_by_name (buffer, "irc-body-other"); + theme_manager_ensure_tag_by_name (buffer, "irc-action-other"); + + theme_manager_ensure_tag_by_name (buffer, "irc-nick-highlight"); + theme_manager_ensure_tag_by_name (buffer, "irc-spacing"); + theme_manager_ensure_tag_by_name (buffer, "irc-time"); + theme_manager_ensure_tag_by_name (buffer, "irc-event"); + theme_manager_ensure_tag_by_name (buffer, "irc-invite"); + theme_manager_ensure_tag_by_name (buffer, "irc-link"); +} + +static void +theme_manager_apply_theme_classic (GossipThemeManager *manager, + GossipChatView *view) +{ + GossipThemeManagerPriv *priv; + GtkTextBuffer *buffer; + GtkTextTagTable *table; + GtkTextTag *tag; + + priv = GET_PRIV (manager); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); + table = gtk_text_buffer_get_tag_table (buffer); + + priv->irc_style = TRUE; + + tag = theme_manager_init_tag_by_name (table, "irc-spacing"); + g_object_set (tag, + "size", 2000, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "irc-nick-self"); + g_object_set (tag, + "foreground", "sea green", + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "irc-body-self"); + g_object_set (tag, + /* To get the default theme color: */ + "foreground-set", FALSE, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "irc-action-self"); + g_object_set (tag, + "foreground", "brown4", + "style", PANGO_STYLE_ITALIC, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "irc-nick-highlight"); + g_object_set (tag, + "foreground", "indian red", + "weight", PANGO_WEIGHT_BOLD, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "irc-nick-other"); + g_object_set (tag, + "foreground", "skyblue4", + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "irc-body-other"); + g_object_set (tag, + /* To get the default theme color: */ + "foreground-set", FALSE, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "irc-action-other"); + g_object_set (tag, + "foreground", "brown4", + "style", PANGO_STYLE_ITALIC, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "irc-time"); + g_object_set (tag, + "foreground", "darkgrey", + "justification", GTK_JUSTIFY_CENTER, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "irc-event"); + g_object_set (tag, + "foreground", "PeachPuff4", + "justification", GTK_JUSTIFY_LEFT, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "irc-invite"); + g_object_set (tag, + "foreground", "sienna", + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "irc-link"); + g_object_set (tag, + "foreground", "steelblue", + "underline", PANGO_UNDERLINE_SINGLE, + NULL); + theme_manager_add_tag (table, tag); +} + +static void +theme_manager_apply_theme_simple (GossipThemeManager *manager, + GossipChatView *view) +{ + GossipThemeManagerPriv *priv; + GtkTextBuffer *buffer; + GtkTextTagTable *table; + GtkTextTag *tag; + GtkWidget *widget; + GtkStyle *style; + + priv = GET_PRIV (manager); + + widget = gtk_entry_new (); + style = gtk_widget_get_style (widget); + gtk_widget_destroy (widget); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); + table = gtk_text_buffer_get_tag_table (buffer); + + priv->irc_style = FALSE; + + tag = theme_manager_init_tag_by_name (table, "fancy-spacing"); + g_object_set (tag, + "size", 3000, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-header-self"); + g_object_set (tag, + "weight", PANGO_WEIGHT_BOLD, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-header-self-avatar"); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-avatar-self"); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-line-top-self"); + g_object_set (tag, + "size", 6 * PANGO_SCALE, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-line-bottom-self"); + g_object_set (tag, + "size", 1, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-body-self"); + g_object_set (tag, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-action-self"); + g_object_set (tag, + "foreground-gdk", &style->base[GTK_STATE_SELECTED], + "style", PANGO_STYLE_ITALIC, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-highlight-self"); + g_object_set (tag, + "weight", PANGO_WEIGHT_BOLD, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-header-other"); + g_object_set (tag, + "weight", PANGO_WEIGHT_BOLD, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-header-other-avatar"); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-avatar-other"); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-line-top-other"); + g_object_set (tag, + "size", 6 * PANGO_SCALE, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-line-bottom-other"); + g_object_set (tag, + "size", 1, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-body-other"); + g_object_set (tag, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-action-other"); + g_object_set (tag, + "foreground-gdk", &style->base[GTK_STATE_SELECTED], + "style", PANGO_STYLE_ITALIC, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-highlight-other"); + g_object_set (tag, + "weight", PANGO_WEIGHT_BOLD, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-time"); + g_object_set (tag, + "foreground", "darkgrey", + "justification", GTK_JUSTIFY_CENTER, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-event"); + g_object_set (tag, + "foreground", "darkgrey", + "justification", GTK_JUSTIFY_LEFT, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-invite"); + g_object_set (tag, + "foreground", "darkgrey", + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-link"); + g_object_set (tag, + "foreground-gdk", &style->base[GTK_STATE_SELECTED], + "underline", PANGO_UNDERLINE_SINGLE, + NULL); + theme_manager_add_tag (table, tag); +} + +static void +theme_manager_apply_theme_clean (GossipThemeManager *manager, + GossipChatView *view) +{ + GossipThemeManagerPriv *priv; + GtkTextBuffer *buffer; + GtkTextTagTable *table; + GtkTextTag *tag; + + priv = GET_PRIV (manager); + + /* Inherit the simple theme. */ + theme_manager_apply_theme_simple (manager, view); + +#define ELEGANT_HEAD "#efefdf" +#define ELEGANT_LINE "#e3e3d3" + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); + table = gtk_text_buffer_get_tag_table (buffer); + + tag = theme_manager_init_tag_by_name (table, "fancy-spacing"); + g_object_set (tag, + "size", PANGO_SCALE * 10, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-header-self"); + g_object_set (tag, + "foreground", "black", + "weight", PANGO_WEIGHT_BOLD, + "paragraph-background", ELEGANT_HEAD, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-avatar-self"); + g_object_set (tag, + "paragraph-background", ELEGANT_HEAD, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-line-top-self"); + g_object_set (tag, + "size", 1 * PANGO_SCALE, + "paragraph-background", ELEGANT_LINE, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-line-bottom-self"); + g_object_set (tag, + "size", 1 * PANGO_SCALE, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-action-self"); + g_object_set (tag, + "foreground", "brown4", + "style", PANGO_STYLE_ITALIC, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-highlight-self"); + g_object_set (tag, + "foreground", "black", + "weight", PANGO_WEIGHT_BOLD, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-header-other"); + g_object_set (tag, + "foreground", "black", + "weight", PANGO_WEIGHT_BOLD, + "paragraph-background", ELEGANT_HEAD, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-avatar-other"); + g_object_set (tag, + "paragraph-background", ELEGANT_HEAD, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-line-top-other"); + g_object_set (tag, + "size", 1 * PANGO_SCALE, + "paragraph-background", ELEGANT_LINE, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-line-bottom-other"); + g_object_set (tag, + "size", 1 * PANGO_SCALE, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-action-other"); + g_object_set (tag, + "foreground", "brown4", + "style", PANGO_STYLE_ITALIC, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-time"); + g_object_set (tag, + "foreground", "darkgrey", + "justification", GTK_JUSTIFY_CENTER, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-event"); + g_object_set (tag, + "foreground", "darkgrey", + "justification", GTK_JUSTIFY_LEFT, + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-invite"); + g_object_set (tag, + "foreground", "sienna", + NULL); + + tag = theme_manager_init_tag_by_name (table, "fancy-link"); + g_object_set (tag, + "foreground", "#49789e", + "underline", PANGO_UNDERLINE_SINGLE, + NULL); +} + +static void +theme_manager_apply_theme_blue (GossipThemeManager *manager, + GossipChatView *view) +{ + GossipThemeManagerPriv *priv; + GtkTextBuffer *buffer; + GtkTextTagTable *table; + GtkTextTag *tag; + + priv = GET_PRIV (manager); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); + table = gtk_text_buffer_get_tag_table (buffer); + + priv->irc_style = FALSE; + +#define BLUE_BODY_SELF "#dcdcdc" +#define BLUE_HEAD_SELF "#b9b9b9" +#define BLUE_LINE_SELF "#aeaeae" + +#define BLUE_BODY_OTHER "#adbdc8" +#define BLUE_HEAD_OTHER "#88a2b4" +#define BLUE_LINE_OTHER "#7f96a4" + + tag = theme_manager_init_tag_by_name (table, "fancy-spacing"); + g_object_set (tag, + "size", 3000, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-header-self"); + g_object_set (tag, + "foreground", "black", + "paragraph-background", BLUE_HEAD_SELF, + "weight", PANGO_WEIGHT_BOLD, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-header-self-avatar"); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-avatar-self"); + g_object_set (tag, + "paragraph-background", BLUE_HEAD_SELF, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-line-top-self"); + g_object_set (tag, + "size", 1, + "paragraph-background", BLUE_LINE_SELF, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-line-bottom-self"); + g_object_set (tag, + "size", 1, + "paragraph-background", BLUE_LINE_SELF, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-body-self"); + g_object_set (tag, + "foreground", "black", + "paragraph-background", BLUE_BODY_SELF, + "pixels-above-lines", 4, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-action-self"); + g_object_set (tag, + "foreground", "brown4", + "style", PANGO_STYLE_ITALIC, + "paragraph-background", BLUE_BODY_SELF, + "pixels-above-lines", 4, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-highlight-self"); + g_object_set (tag, + "foreground", "black", + "weight", PANGO_WEIGHT_BOLD, + "paragraph-background", BLUE_BODY_SELF, + "pixels-above-lines", 4, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-header-other"); + g_object_set (tag, + "foreground", "black", + "paragraph-background", BLUE_HEAD_OTHER, + "weight", PANGO_WEIGHT_BOLD, + "pixels-above-lines", 2, + "pixels-below-lines", 2, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-header-other-avatar"); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-avatar-other"); + g_object_set (tag, + "paragraph-background", BLUE_HEAD_OTHER, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-line-top-other"); + g_object_set (tag, + "size", 1, + "paragraph-background", BLUE_LINE_OTHER, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-line-bottom-other"); + g_object_set (tag, + "size", 1, + "paragraph-background", BLUE_LINE_OTHER, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-body-other"); + g_object_set (tag, + "foreground", "black", + "paragraph-background", BLUE_BODY_OTHER, + "pixels-above-lines", 4, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-action-other"); + g_object_set (tag, + "foreground", "brown4", + "style", PANGO_STYLE_ITALIC, + "paragraph-background", BLUE_BODY_OTHER, + "pixels-above-lines", 4, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-highlight-other"); + g_object_set (tag, + "foreground", "black", + "weight", PANGO_WEIGHT_BOLD, + "paragraph-background", BLUE_BODY_OTHER, + "pixels-above-lines", 4, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-time"); + g_object_set (tag, + "foreground", "darkgrey", + "justification", GTK_JUSTIFY_CENTER, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-event"); + g_object_set (tag, + "foreground", BLUE_LINE_OTHER, + "justification", GTK_JUSTIFY_LEFT, + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-invite"); + g_object_set (tag, + "foreground", "sienna", + NULL); + theme_manager_add_tag (table, tag); + + tag = theme_manager_init_tag_by_name (table, "fancy-link"); + g_object_set (tag, + "foreground", "#49789e", + "underline", PANGO_UNDERLINE_SINGLE, + NULL); + theme_manager_add_tag (table, tag); +} + +static void +theme_manager_apply_theme (GossipThemeManager *manager, + GossipChatView *view, + const gchar *name) +{ + GossipThemeManagerPriv *priv; + gint margin; + + priv = GET_PRIV (manager); + + /* Make sure all tags are present. Note: not useful now but when we have + * user defined theme it will be. + */ + theme_manager_fixup_tag_table (manager, view); + + if (theme_manager_ensure_theme_exists (name)) { + if (strcmp (name, "clean") == 0) { + theme_manager_apply_theme_clean (manager, view); + margin = 3; + } + else if (strcmp (name, "simple") == 0) { + theme_manager_apply_theme_simple (manager, view); + margin = 3; + } + else if (strcmp (name, "blue") == 0) { + theme_manager_apply_theme_blue (manager, view); + margin = 0; + } else { + theme_manager_apply_theme_classic (manager, view); + margin = 3; + } + } else { + theme_manager_apply_theme_classic (manager, view); + margin = 3; + } + + gossip_chat_view_set_margin (view, margin); + gossip_chat_view_set_irc_style (view, priv->irc_style); +} + +GossipThemeManager * +gossip_theme_manager_get (void) +{ + static GossipThemeManager *manager = NULL; + + if (!manager) { + manager = g_object_new (GOSSIP_TYPE_THEME_MANAGER, NULL); + } + + return manager; +} + +const gchar ** +gossip_theme_manager_get_themes (void) +{ + return themes; +} + +void +gossip_theme_manager_apply (GossipThemeManager *manager, + GossipChatView *view, + const gchar *name) +{ + GossipThemeManagerPriv *priv; + + priv = GET_PRIV (manager); + + theme_manager_apply_theme (manager, view, name); +} + +void +gossip_theme_manager_apply_saved (GossipThemeManager *manager, + GossipChatView *view) +{ + GossipThemeManagerPriv *priv; + + priv = GET_PRIV (manager); + + theme_manager_apply_theme (manager, view, priv->name); +} + +/* FIXME: A bit ugly. We should probably change the scheme so that instead of + * the manager signalling, views are registered and applied to automatically. + */ +void +gossip_theme_manager_update_show_avatars (GossipThemeManager *manager, + GossipChatView *view, + gboolean show) +{ + GossipThemeManagerPriv *priv; + GtkTextBuffer *buffer; + GtkTextTagTable *table; + GtkTextTag *tag_text_self, *tag_text_other; + GtkTextTag *tag_image_self, *tag_image_other; + + priv = GET_PRIV (manager); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); + table = gtk_text_buffer_get_tag_table (buffer); + + tag_text_self = gtk_text_tag_table_lookup (table, "fancy-header-self-avatar"); + tag_text_other = gtk_text_tag_table_lookup (table, "fancy-header-other-avatar"); + + tag_image_self = gtk_text_tag_table_lookup (table, "fancy-avatar-self"); + tag_image_other = gtk_text_tag_table_lookup (table, "fancy-avatar-other"); + + if (!show) { + g_object_set (tag_text_self, + "rise", 0, + NULL); + g_object_set (tag_text_other, + "rise", 0, + NULL); + g_object_set (tag_image_self, + "invisible", TRUE, + NULL); + g_object_set (tag_image_other, + "invisible", TRUE, + NULL); + } else { + GtkTextAttributes *attrs; + gint size; + gint rise; + + attrs = gtk_text_view_get_default_attributes (GTK_TEXT_VIEW (view)); + size = pango_font_description_get_size (attrs->font); + rise = MAX (0, (32 * PANGO_SCALE - size) / 2.0); + + g_object_set (tag_text_self, + "rise", rise, + NULL); + g_object_set (tag_text_other, + "rise", rise, + NULL); + g_object_set (tag_image_self, + "invisible", FALSE, + NULL); + g_object_set (tag_image_other, + "invisible", FALSE, + NULL); + + gtk_text_attributes_unref (attrs); + } +} + diff --git a/trunk/libempathy-gtk/gossip-theme-manager.h b/trunk/libempathy-gtk/gossip-theme-manager.h new file mode 100644 index 000000000..bb7e3cf70 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-theme-manager.h @@ -0,0 +1,64 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2005-2007 Imendio AB + * + * 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. + * + * Authors: Richard Hult <richard@imendio.com> + */ + +#ifndef __GOSSIP_THEME_MANAGER_H__ +#define __GOSSIP_THEME_MANAGER_H__ + +#include <glib-object.h> + +#include "gossip-chat-view.h" + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_THEME_MANAGER (gossip_theme_manager_get_type ()) +#define GOSSIP_THEME_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_THEME_MANAGER, GossipThemeManager)) +#define GOSSIP_THEME_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GOSSIP_TYPE_THEME_MANAGER, GossipThemeManagerClass)) +#define GOSSIP_IS_THEME_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_THEME_MANAGER)) +#define GOSSIP_IS_THEME_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_THEME_MANAGER)) +#define GOSSIP_THEME_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_THEME_MANAGER, GossipThemeManagerClass)) + +typedef struct _GossipThemeManager GossipThemeManager; +typedef struct _GossipThemeManagerClass GossipThemeManagerClass; + +struct _GossipThemeManager { + GObject parent; +}; + +struct _GossipThemeManagerClass { + GObjectClass parent_class; +}; + +GType gossip_theme_manager_get_type (void) G_GNUC_CONST; +GossipThemeManager *gossip_theme_manager_get (void); +const gchar ** gossip_theme_manager_get_themes (void); +void gossip_theme_manager_apply (GossipThemeManager *manager, + GossipChatView *view, + const gchar *theme); +void gossip_theme_manager_apply_saved (GossipThemeManager *manager, + GossipChatView *view); +void gossip_theme_manager_update_show_avatars (GossipThemeManager *manager, + GossipChatView *view, + gboolean show); + +G_END_DECLS + +#endif /* __GOSSIP_THEME_MANAGER_H__ */ diff --git a/trunk/libempathy-gtk/gossip-ui-utils.c b/trunk/libempathy-gtk/gossip-ui-utils.c new file mode 100644 index 000000000..cf12a51bb --- /dev/null +++ b/trunk/libempathy-gtk/gossip-ui-utils.c @@ -0,0 +1,1336 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2002-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + * + * Part of this file is copied from GtkSourceView (gtksourceiter.c): + * Paolo Maggi + * Jeroen Zwartepoorte + */ + +#include <string.h> + +#include <glib/gi18n.h> +#include <gtk/gtk.h> +#include <glade/glade.h> +#include <libgnome/libgnome.h> + +#include <libmissioncontrol/mc-profile.h> + +#include <libempathy/gossip-paths.h> +#include <libempathy/gossip-debug.h> + +#include "gossip-ui-utils.h" +#include "empathy-images.h" + +#define DEBUG_DOMAIN "UiUtils" + +struct SizeData { + gint width; + gint height; + gboolean preserve_aspect_ratio; +}; + +static GladeXML * +get_glade_file (const gchar *filename, + const gchar *root, + const gchar *domain, + const gchar *first_required_widget, + va_list args) +{ + gchar *path; + GladeXML *gui; + const char *name; + GtkWidget **widget_ptr; + + path = gossip_paths_get_glade_path (filename); + gui = glade_xml_new (path, root, domain); + g_free (path); + + if (!gui) { + g_warning ("Couldn't find necessary glade file '%s'", filename); + return NULL; + } + + for (name = first_required_widget; name; name = va_arg (args, char *)) { + widget_ptr = va_arg (args, void *); + + *widget_ptr = glade_xml_get_widget (gui, name); + + if (!*widget_ptr) { + g_warning ("Glade file '%s' is missing widget '%s'.", + filename, name); + continue; + } + } + + return gui; +} + +void +gossip_glade_get_file_simple (const gchar *filename, + const gchar *root, + const gchar *domain, + const gchar *first_required_widget, ...) +{ + va_list args; + GladeXML *gui; + + va_start (args, first_required_widget); + + gui = get_glade_file (filename, + root, + domain, + first_required_widget, + args); + + va_end (args); + + if (!gui) { + return; + } + + g_object_unref (gui); +} + +GladeXML * +gossip_glade_get_file (const gchar *filename, + const gchar *root, + const gchar *domain, + const gchar *first_required_widget, ...) +{ + va_list args; + GladeXML *gui; + + va_start (args, first_required_widget); + + gui = get_glade_file (filename, + root, + domain, + first_required_widget, + args); + + va_end (args); + + if (!gui) { + return NULL; + } + + return gui; +} + +void +gossip_glade_connect (GladeXML *gui, + gpointer user_data, + gchar *first_widget, ...) +{ + va_list args; + const gchar *name; + const gchar *signal; + GtkWidget *widget; + gpointer *callback; + + va_start (args, first_widget); + + for (name = first_widget; name; name = va_arg (args, char *)) { + signal = va_arg (args, void *); + callback = va_arg (args, void *); + + widget = glade_xml_get_widget (gui, name); + if (!widget) { + g_warning ("Glade file is missing widget '%s', aborting", + name); + continue; + } + + g_signal_connect (widget, + signal, + G_CALLBACK (callback), + user_data); + } + + va_end (args); +} + +void +gossip_glade_setup_size_group (GladeXML *gui, + GtkSizeGroupMode mode, + gchar *first_widget, ...) +{ + va_list args; + GtkWidget *widget; + GtkSizeGroup *size_group; + const gchar *name; + + va_start (args, first_widget); + + size_group = gtk_size_group_new (mode); + + for (name = first_widget; name; name = va_arg (args, char *)) { + widget = glade_xml_get_widget (gui, name); + if (!widget) { + g_warning ("Glade file is missing widget '%s'", name); + continue; + } + + gtk_size_group_add_widget (size_group, widget); + } + + g_object_unref (size_group); + + va_end (args); +} + +GdkPixbuf * +gossip_pixbuf_from_icon_name (const gchar *icon_name, + GtkIconSize icon_size) +{ + GtkIconTheme *theme; + GdkPixbuf *pixbuf = NULL; + GError *error = NULL; + gint w, h; + gint size = 48; + + theme = gtk_icon_theme_get_default (); + + if (gtk_icon_size_lookup (icon_size, &w, &h)) { + size = (w + h) / 2; + } + + pixbuf = gtk_icon_theme_load_icon (theme, + icon_name, + size, + 0, + &error); + if (error) { + gossip_debug (DEBUG_DOMAIN, "Error loading icon: %s", error->message); + g_clear_error (&error); + } + + return pixbuf; +} + +GdkPixbuf * +gossip_pixbuf_from_smiley (GossipSmiley type, + GtkIconSize icon_size) +{ + const gchar *icon_id; + + switch (type) { + case GOSSIP_SMILEY_NORMAL: /* :) */ + icon_id = "stock_smiley-1"; + break; + case GOSSIP_SMILEY_WINK: /* ;) */ + icon_id = "stock_smiley-3"; + break; + case GOSSIP_SMILEY_BIGEYE: /* =) */ + icon_id = "stock_smiley-2"; + break; + case GOSSIP_SMILEY_NOSE: /* :-) */ + icon_id = "stock_smiley-7"; + break; + case GOSSIP_SMILEY_CRY: /* :'( */ + icon_id = "stock_smiley-11"; + break; + case GOSSIP_SMILEY_SAD: /* :( */ + icon_id = "stock_smiley-4"; + break; + case GOSSIP_SMILEY_SCEPTICAL: /* :/ */ + icon_id = "stock_smiley-9"; + break; + case GOSSIP_SMILEY_BIGSMILE: /* :D */ + icon_id = "stock_smiley-6"; + break; + case GOSSIP_SMILEY_INDIFFERENT: /* :| */ + icon_id = "stock_smiley-8"; + break; + case GOSSIP_SMILEY_TOUNGE: /* :p */ + icon_id = "stock_smiley-10"; + break; + case GOSSIP_SMILEY_SHOCKED: /* :o */ + icon_id = "stock_smiley-5"; + break; + case GOSSIP_SMILEY_COOL: /* 8) */ + icon_id = "stock_smiley-15"; + break; + case GOSSIP_SMILEY_SORRY: /* *| */ + icon_id = "stock_smiley-12"; + break; + case GOSSIP_SMILEY_KISS: /* :* */ + icon_id = "stock_smiley-13"; + break; + case GOSSIP_SMILEY_SHUTUP: /* :# */ + icon_id = "stock_smiley-14"; + break; + case GOSSIP_SMILEY_YAWN: /* |O */ + icon_id = ""; + break; + case GOSSIP_SMILEY_CONFUSED: /* :$ */ + icon_id = "stock_smiley-17"; + break; + case GOSSIP_SMILEY_ANGEL: /* O) */ + icon_id = "stock_smiley-18"; + break; + case GOSSIP_SMILEY_OOOH: /* :x */ + icon_id = "stock_smiley-19"; + break; + case GOSSIP_SMILEY_LOOKAWAY: /* *) */ + icon_id = "stock_smiley-20"; + break; + case GOSSIP_SMILEY_BLUSH: /* *S */ + icon_id = "stock_smiley-23"; + break; + case GOSSIP_SMILEY_COOLBIGSMILE: /* 8D */ + icon_id = "stock_smiley-25"; + break; + case GOSSIP_SMILEY_ANGRY: /* :@ */ + icon_id = "stock_smiley-16"; + break; + case GOSSIP_SMILEY_BOSS: /* @) */ + icon_id = "stock_smiley-21"; + break; + case GOSSIP_SMILEY_MONKEY: /* #) */ + icon_id = "stock_smiley-22"; + break; + case GOSSIP_SMILEY_SILLY: /* O) */ + icon_id = "stock_smiley-24"; + break; + case GOSSIP_SMILEY_SICK: /* +o( */ + icon_id = "stock_smiley-26"; + break; + + default: + g_assert_not_reached (); + icon_id = NULL; + } + + + return gossip_pixbuf_from_icon_name (icon_id, icon_size); +} + +const gchar * +gossip_icon_name_from_account (McAccount *account) +{ + McProfile *profile; + + profile = mc_account_get_profile (account); + + return mc_profile_get_icon_name (profile); +} + +const gchar * +gossip_icon_name_for_presence_state (McPresence state) +{ + switch (state) { + case MC_PRESENCE_AVAILABLE: + return EMPATHY_IMAGE_AVAILABLE; + case MC_PRESENCE_DO_NOT_DISTURB: + return EMPATHY_IMAGE_BUSY; + case MC_PRESENCE_AWAY: + return EMPATHY_IMAGE_AWAY; + case MC_PRESENCE_EXTENDED_AWAY: + return EMPATHY_IMAGE_EXT_AWAY; + case MC_PRESENCE_HIDDEN: + case MC_PRESENCE_OFFLINE: + case MC_PRESENCE_UNSET: + return EMPATHY_IMAGE_OFFLINE; + default: + g_assert_not_reached (); + } + + return NULL; +} + +const gchar * +gossip_icon_name_for_presence (GossipPresence *presence) +{ + McPresence state; + + g_return_val_if_fail (GOSSIP_IS_PRESENCE (presence), + EMPATHY_IMAGE_OFFLINE); + + state = gossip_presence_get_state (presence); + + return gossip_icon_name_for_presence_state (state); +} + +const gchar * +gossip_icon_name_for_contact (GossipContact *contact) +{ + GossipPresence *presence; + GossipSubscription subscription; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), + EMPATHY_IMAGE_OFFLINE); + + presence = gossip_contact_get_presence (contact); + + if (presence) { + return gossip_icon_name_for_presence (presence); + } + + subscription = gossip_contact_get_subscription (contact); + + if (subscription != GOSSIP_SUBSCRIPTION_BOTH && + subscription != GOSSIP_SUBSCRIPTION_TO) { + return EMPATHY_IMAGE_PENDING; + } + + return EMPATHY_IMAGE_OFFLINE; +} + +GdkPixbuf * +gossip_pixbuf_avatar_from_contact (GossipContact *contact) +{ + GdkPixbuf *pixbuf; + GdkPixbufLoader *loader; + GossipAvatar *avatar; + GError *error = NULL; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), NULL); + + avatar = gossip_contact_get_avatar (contact); + if (!avatar) { + return NULL; + } + + loader = gdk_pixbuf_loader_new (); + + if (!gdk_pixbuf_loader_write (loader, avatar->data, avatar->len, &error)) { + g_warning ("Couldn't write avatar image:%p with " + "length:%" G_GSIZE_FORMAT " to pixbuf loader: %s", + avatar->data, avatar->len, error->message); + g_error_free (error); + return NULL; + } + + gdk_pixbuf_loader_close (loader, NULL); + + pixbuf = gdk_pixbuf_loader_get_pixbuf (loader); + + g_object_ref (pixbuf); + g_object_unref (loader); + + return pixbuf; +} + +static void +pixbuf_from_avatar_size_prepared_cb (GdkPixbufLoader *loader, + int width, + int height, + struct SizeData *data) +{ + g_return_if_fail (width > 0 && height > 0); + + if (data->preserve_aspect_ratio && (data->width > 0 || data->height > 0)) { + if (width < data->width && height < data->height) { + width = width; + height = height; + } + + if (data->width < 0) { + width = width * (double) data->height / (gdouble) height; + height = data->height; + } else if (data->height < 0) { + height = height * (double) data->width / (double) width; + width = data->width; + } else if ((double) height * (double) data->width > + (double) width * (double) data->height) { + width = 0.5 + (double) width * (double) data->height / (double) height; + height = data->height; + } else { + height = 0.5 + (double) height * (double) data->width / (double) width; + width = data->width; + } + } else { + if (data->width > 0) { + width = data->width; + } + + if (data->height > 0) { + height = data->height; + } + } + + gdk_pixbuf_loader_set_size (loader, width, height); +} + +GdkPixbuf * +gossip_pixbuf_from_avatar_scaled (GossipAvatar *avatar, + gint width, + gint height) +{ + GdkPixbuf *pixbuf; + GdkPixbufLoader *loader; + struct SizeData data; + GError *error = NULL; + + if (!avatar) { + return NULL; + } + + data.width = width; + data.height = height; + data.preserve_aspect_ratio = TRUE; + + loader = gdk_pixbuf_loader_new (); + + g_signal_connect (loader, "size-prepared", + G_CALLBACK (pixbuf_from_avatar_size_prepared_cb), + &data); + + if (!gdk_pixbuf_loader_write (loader, avatar->data, avatar->len, &error)) { + g_warning ("Couldn't write avatar image:%p with " + "length:%" G_GSIZE_FORMAT " to pixbuf loader: %s", + avatar->data, avatar->len, error->message); + g_error_free (error); + return NULL; + } + + gdk_pixbuf_loader_close (loader, NULL); + + pixbuf = gdk_pixbuf_loader_get_pixbuf (loader); + + g_object_ref (pixbuf); + g_object_unref (loader); + + return pixbuf; +} + +GdkPixbuf * +gossip_pixbuf_avatar_from_contact_scaled (GossipContact *contact, + gint width, + gint height) +{ + GossipAvatar *avatar; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), NULL); + + avatar = gossip_contact_get_avatar (contact); + + return gossip_pixbuf_from_avatar_scaled (avatar, width, height); +} +/* Stolen from GtkSourceView, hence the weird intendation. Please keep it like + * that to make it easier to apply changes from the original code. + */ +#define GTK_TEXT_UNKNOWN_CHAR 0xFFFC + +/* this function acts like g_utf8_offset_to_pointer() except that if it finds a + * decomposable character it consumes the decomposition length from the given + * offset. So it's useful when the offset was calculated for the normalized + * version of str, but we need a pointer to str itself. */ +static const gchar * +pointer_from_offset_skipping_decomp (const gchar *str, gint offset) +{ + gchar *casefold, *normal; + const gchar *p, *q; + + p = str; + while (offset > 0) + { + q = g_utf8_next_char (p); + casefold = g_utf8_casefold (p, q - p); + normal = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + offset -= g_utf8_strlen (normal, -1); + g_free (casefold); + g_free (normal); + p = q; + } + return p; +} + +static const gchar * +g_utf8_strcasestr (const gchar *haystack, const gchar *needle) +{ + gsize needle_len; + gsize haystack_len; + const gchar *ret = NULL; + gchar *p; + gchar *casefold; + gchar *caseless_haystack; + gint i; + + g_return_val_if_fail (haystack != NULL, NULL); + g_return_val_if_fail (needle != NULL, NULL); + + casefold = g_utf8_casefold (haystack, -1); + caseless_haystack = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + g_free (casefold); + + needle_len = g_utf8_strlen (needle, -1); + haystack_len = g_utf8_strlen (caseless_haystack, -1); + + if (needle_len == 0) + { + ret = (gchar *)haystack; + goto finally_1; + } + + if (haystack_len < needle_len) + { + ret = NULL; + goto finally_1; + } + + p = (gchar*)caseless_haystack; + needle_len = strlen (needle); + i = 0; + + while (*p) + { + if ((strncmp (p, needle, needle_len) == 0)) + { + ret = pointer_from_offset_skipping_decomp (haystack, i); + goto finally_1; + } + + p = g_utf8_next_char (p); + i++; + } + +finally_1: + g_free (caseless_haystack); + + return ret; +} + +static gboolean +g_utf8_caselessnmatch (const char *s1, const char *s2, + gssize n1, gssize n2) +{ + gchar *casefold; + gchar *normalized_s1; + gchar *normalized_s2; + gint len_s1; + gint len_s2; + gboolean ret = FALSE; + + g_return_val_if_fail (s1 != NULL, FALSE); + g_return_val_if_fail (s2 != NULL, FALSE); + g_return_val_if_fail (n1 > 0, FALSE); + g_return_val_if_fail (n2 > 0, FALSE); + + casefold = g_utf8_casefold (s1, n1); + normalized_s1 = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + g_free (casefold); + + casefold = g_utf8_casefold (s2, n2); + normalized_s2 = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + g_free (casefold); + + len_s1 = strlen (normalized_s1); + len_s2 = strlen (normalized_s2); + + if (len_s1 < len_s2) + goto finally_2; + + ret = (strncmp (normalized_s1, normalized_s2, len_s2) == 0); + +finally_2: + g_free (normalized_s1); + g_free (normalized_s2); + + return ret; +} + +static void +forward_chars_with_skipping (GtkTextIter *iter, + gint count, + gboolean skip_invisible, + gboolean skip_nontext, + gboolean skip_decomp) +{ + gint i; + + g_return_if_fail (count >= 0); + + i = count; + + while (i > 0) + { + gboolean ignored = FALSE; + + /* minimal workaround to avoid the infinite loop of bug #168247. + * It doesn't fix the problemjust the symptom... + */ + if (gtk_text_iter_is_end (iter)) + return; + + if (skip_nontext && gtk_text_iter_get_char (iter) == GTK_TEXT_UNKNOWN_CHAR) + ignored = TRUE; + + if (!ignored && skip_invisible && + /* _gtk_text_btree_char_is_invisible (iter)*/ FALSE) + ignored = TRUE; + + if (!ignored && skip_decomp) + { + /* being UTF8 correct sucks; this accounts for extra + offsets coming from canonical decompositions of + UTF8 characters (e.g. accented characters) which + g_utf8_normalize() performs */ + gchar *normal; + gchar buffer[6]; + gint buffer_len; + + buffer_len = g_unichar_to_utf8 (gtk_text_iter_get_char (iter), buffer); + normal = g_utf8_normalize (buffer, buffer_len, G_NORMALIZE_NFD); + i -= (g_utf8_strlen (normal, -1) - 1); + g_free (normal); + } + + gtk_text_iter_forward_char (iter); + + if (!ignored) + --i; + } +} + +static gboolean +lines_match (const GtkTextIter *start, + const gchar **lines, + gboolean visible_only, + gboolean slice, + GtkTextIter *match_start, + GtkTextIter *match_end) +{ + GtkTextIter next; + gchar *line_text; + const gchar *found; + gint offset; + + if (*lines == NULL || **lines == '\0') + { + if (match_start) + *match_start = *start; + if (match_end) + *match_end = *start; + return TRUE; + } + + next = *start; + gtk_text_iter_forward_line (&next); + + /* No more text in buffer, but *lines is nonempty */ + if (gtk_text_iter_equal (start, &next)) + return FALSE; + + if (slice) + { + if (visible_only) + line_text = gtk_text_iter_get_visible_slice (start, &next); + else + line_text = gtk_text_iter_get_slice (start, &next); + } + else + { + if (visible_only) + line_text = gtk_text_iter_get_visible_text (start, &next); + else + line_text = gtk_text_iter_get_text (start, &next); + } + + if (match_start) /* if this is the first line we're matching */ + { + found = g_utf8_strcasestr (line_text, *lines); + } + else + { + /* If it's not the first line, we have to match from the + * start of the line. + */ + if (g_utf8_caselessnmatch (line_text, *lines, strlen (line_text), + strlen (*lines))) + found = line_text; + else + found = NULL; + } + + if (found == NULL) + { + g_free (line_text); + return FALSE; + } + + /* Get offset to start of search string */ + offset = g_utf8_strlen (line_text, found - line_text); + + next = *start; + + /* If match start needs to be returned, set it to the + * start of the search string. + */ + forward_chars_with_skipping (&next, offset, visible_only, !slice, FALSE); + if (match_start) + { + *match_start = next; + } + + /* Go to end of search string */ + forward_chars_with_skipping (&next, g_utf8_strlen (*lines, -1), visible_only, !slice, TRUE); + + g_free (line_text); + + ++lines; + + if (match_end) + *match_end = next; + + /* pass NULL for match_start, since we don't need to find the + * start again. + */ + return lines_match (&next, lines, visible_only, slice, NULL, match_end); +} + +/* strsplit () that retains the delimiter as part of the string. */ +static gchar ** +strbreakup (const char *string, + const char *delimiter, + gint max_tokens) +{ + GSList *string_list = NULL, *slist; + gchar **str_array, *s, *casefold, *new_string; + guint i, n = 1; + + g_return_val_if_fail (string != NULL, NULL); + g_return_val_if_fail (delimiter != NULL, NULL); + + if (max_tokens < 1) + max_tokens = G_MAXINT; + + s = strstr (string, delimiter); + if (s) + { + guint delimiter_len = strlen (delimiter); + + do + { + guint len; + + len = s - string + delimiter_len; + new_string = g_new (gchar, len + 1); + strncpy (new_string, string, len); + new_string[len] = 0; + casefold = g_utf8_casefold (new_string, -1); + g_free (new_string); + new_string = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + g_free (casefold); + string_list = g_slist_prepend (string_list, new_string); + n++; + string = s + delimiter_len; + s = strstr (string, delimiter); + } while (--max_tokens && s); + } + + if (*string) + { + n++; + casefold = g_utf8_casefold (string, -1); + new_string = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + g_free (casefold); + string_list = g_slist_prepend (string_list, new_string); + } + + str_array = g_new (gchar*, n); + + i = n - 1; + + str_array[i--] = NULL; + for (slist = string_list; slist; slist = slist->next) + str_array[i--] = slist->data; + + g_slist_free (string_list); + + return str_array; +} + +gboolean +gossip_text_iter_forward_search (const GtkTextIter *iter, + const gchar *str, + GtkTextIter *match_start, + GtkTextIter *match_end, + const GtkTextIter *limit) +{ + gchar **lines = NULL; + GtkTextIter match; + gboolean retval = FALSE; + GtkTextIter search; + gboolean visible_only; + gboolean slice; + + g_return_val_if_fail (iter != NULL, FALSE); + g_return_val_if_fail (str != NULL, FALSE); + + if (limit && gtk_text_iter_compare (iter, limit) >= 0) + return FALSE; + + if (*str == '\0') { + /* If we can move one char, return the empty string there */ + match = *iter; + + if (gtk_text_iter_forward_char (&match)) { + if (limit && gtk_text_iter_equal (&match, limit)) { + return FALSE; + } + + if (match_start) { + *match_start = match; + } + if (match_end) { + *match_end = match; + } + return TRUE; + } else { + return FALSE; + } + } + + visible_only = TRUE; + slice = FALSE; + + /* locate all lines */ + lines = strbreakup (str, "\n", -1); + + search = *iter; + + do { + /* This loop has an inefficient worst-case, where + * gtk_text_iter_get_text () is called repeatedly on + * a single line. + */ + GtkTextIter end; + + if (limit && gtk_text_iter_compare (&search, limit) >= 0) { + break; + } + + if (lines_match (&search, (const gchar**)lines, + visible_only, slice, &match, &end)) { + if (limit == NULL || + (limit && gtk_text_iter_compare (&end, limit) <= 0)) { + retval = TRUE; + + if (match_start) { + *match_start = match; + } + if (match_end) { + *match_end = end; + } + } + break; + } + } while (gtk_text_iter_forward_line (&search)); + + g_strfreev ((gchar**)lines); + + return retval; +} + +static const gchar * +g_utf8_strrcasestr (const gchar *haystack, const gchar *needle) +{ + gsize needle_len; + gsize haystack_len; + const gchar *ret = NULL; + gchar *p; + gchar *casefold; + gchar *caseless_haystack; + gint i; + + g_return_val_if_fail (haystack != NULL, NULL); + g_return_val_if_fail (needle != NULL, NULL); + + casefold = g_utf8_casefold (haystack, -1); + caseless_haystack = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + g_free (casefold); + + needle_len = g_utf8_strlen (needle, -1); + haystack_len = g_utf8_strlen (caseless_haystack, -1); + + if (needle_len == 0) + { + ret = (gchar *)haystack; + goto finally_1; + } + + if (haystack_len < needle_len) + { + ret = NULL; + goto finally_1; + } + + i = haystack_len - needle_len; + p = g_utf8_offset_to_pointer (caseless_haystack, i); + needle_len = strlen (needle); + + while (p >= caseless_haystack) + { + if (strncmp (p, needle, needle_len) == 0) + { + ret = pointer_from_offset_skipping_decomp (haystack, i); + goto finally_1; + } + + p = g_utf8_prev_char (p); + i--; + } + +finally_1: + g_free (caseless_haystack); + + return ret; +} + +static gboolean +backward_lines_match (const GtkTextIter *start, + const gchar **lines, + gboolean visible_only, + gboolean slice, + GtkTextIter *match_start, + GtkTextIter *match_end) +{ + GtkTextIter line, next; + gchar *line_text; + const gchar *found; + gint offset; + + if (*lines == NULL || **lines == '\0') + { + if (match_start) + *match_start = *start; + if (match_end) + *match_end = *start; + return TRUE; + } + + line = next = *start; + if (gtk_text_iter_get_line_offset (&next) == 0) + { + if (!gtk_text_iter_backward_line (&next)) + return FALSE; + } + else + gtk_text_iter_set_line_offset (&next, 0); + + if (slice) + { + if (visible_only) + line_text = gtk_text_iter_get_visible_slice (&next, &line); + else + line_text = gtk_text_iter_get_slice (&next, &line); + } + else + { + if (visible_only) + line_text = gtk_text_iter_get_visible_text (&next, &line); + else + line_text = gtk_text_iter_get_text (&next, &line); + } + + if (match_start) /* if this is the first line we're matching */ + { + found = g_utf8_strrcasestr (line_text, *lines); + } + else + { + /* If it's not the first line, we have to match from the + * start of the line. + */ + if (g_utf8_caselessnmatch (line_text, *lines, strlen (line_text), + strlen (*lines))) + found = line_text; + else + found = NULL; + } + + if (found == NULL) + { + g_free (line_text); + return FALSE; + } + + /* Get offset to start of search string */ + offset = g_utf8_strlen (line_text, found - line_text); + + forward_chars_with_skipping (&next, offset, visible_only, !slice, FALSE); + + /* If match start needs to be returned, set it to the + * start of the search string. + */ + if (match_start) + { + *match_start = next; + } + + /* Go to end of search string */ + forward_chars_with_skipping (&next, g_utf8_strlen (*lines, -1), visible_only, !slice, TRUE); + + g_free (line_text); + + ++lines; + + if (match_end) + *match_end = next; + + /* try to match the rest of the lines forward, passing NULL + * for match_start so lines_match will try to match the entire + * line */ + return lines_match (&next, lines, visible_only, + slice, NULL, match_end); +} + +gboolean +gossip_text_iter_backward_search (const GtkTextIter *iter, + const gchar *str, + GtkTextIter *match_start, + GtkTextIter *match_end, + const GtkTextIter *limit) +{ + gchar **lines = NULL; + GtkTextIter match; + gboolean retval = FALSE; + GtkTextIter search; + gboolean visible_only; + gboolean slice; + + g_return_val_if_fail (iter != NULL, FALSE); + g_return_val_if_fail (str != NULL, FALSE); + + if (limit && gtk_text_iter_compare (iter, limit) <= 0) + return FALSE; + + if (*str == '\0') + { + /* If we can move one char, return the empty string there */ + match = *iter; + + if (gtk_text_iter_backward_char (&match)) + { + if (limit && gtk_text_iter_equal (&match, limit)) + return FALSE; + + if (match_start) + *match_start = match; + if (match_end) + *match_end = match; + return TRUE; + } + else + { + return FALSE; + } + } + + visible_only = TRUE; + slice = TRUE; + + /* locate all lines */ + lines = strbreakup (str, "\n", -1); + + search = *iter; + + while (TRUE) + { + /* This loop has an inefficient worst-case, where + * gtk_text_iter_get_text () is called repeatedly on + * a single line. + */ + GtkTextIter end; + + if (limit && gtk_text_iter_compare (&search, limit) <= 0) + break; + + if (backward_lines_match (&search, (const gchar**)lines, + visible_only, slice, &match, &end)) + { + if (limit == NULL || (limit && + gtk_text_iter_compare (&end, limit) > 0)) + { + retval = TRUE; + + if (match_start) + *match_start = match; + if (match_end) + *match_end = end; + } + break; + } + + if (gtk_text_iter_get_line_offset (&search) == 0) + { + if (!gtk_text_iter_backward_line (&search)) + break; + } + else + { + gtk_text_iter_set_line_offset (&search, 0); + } + } + + g_strfreev ((gchar**)lines); + + return retval; +} + +static gboolean +window_get_is_on_current_workspace (GtkWindow *window) +{ + GdkWindow *gdk_window; + + gdk_window = GTK_WIDGET (window)->window; + if (gdk_window) { + return !(gdk_window_get_state (gdk_window) & + GDK_WINDOW_STATE_ICONIFIED); + } else { + return FALSE; + } +} + +/* Checks if the window is visible as in visible on the current workspace. */ +gboolean +gossip_window_get_is_visible (GtkWindow *window) +{ + gboolean visible; + + g_return_val_if_fail (window != NULL, FALSE); + + g_object_get (window, + "visible", &visible, + NULL); + + return visible && window_get_is_on_current_workspace (window); +} + +/* Takes care of moving the window to the current workspace. */ +void +gossip_window_present (GtkWindow *window, + gboolean steal_focus) +{ + gboolean visible; + gboolean on_current; + guint32 timestamp; + + g_return_if_fail (window != NULL); + + /* There are three cases: hidden, visible, visible on another + * workspace. + */ + + g_object_get (window, + "visible", &visible, + NULL); + + on_current = window_get_is_on_current_workspace (window); + + if (visible && !on_current) { + /* Hide it so present brings it to the current workspace. */ + gtk_widget_hide (GTK_WIDGET (window)); + } + + timestamp = gtk_get_current_event_time (); + if (steal_focus && timestamp != GDK_CURRENT_TIME) { + gtk_window_present_with_time (window, timestamp); + } else { + gtk_window_present (window); + } +} + +/* The URL opening code can't handle schemeless strings, so we try to be + * smart and add http if there is no scheme or doesn't look like a mail + * address. This should work in most cases, and let us click on strings + * like "www.gnome.org". + */ +static gchar * +fixup_url (const gchar *url) +{ + gchar *real_url; + + if (!g_str_has_prefix (url, "http://") && + !strstr (url, ":/") && + !strstr (url, "@")) { + real_url = g_strdup_printf ("http://%s", url); + } else { + real_url = g_strdup (url); + } + + return real_url; +} + +void +gossip_url_show (const char *url) +{ + gchar *real_url; + GError *error = NULL; + + real_url = fixup_url (url); + gnome_url_show (real_url, &error); + if (error) { + g_warning ("Couldn't show URL:'%s'", real_url); + g_error_free (error); + } + + g_free (real_url); +} + +static void +link_button_hook (GtkLinkButton *button, + const gchar *link, + gpointer user_data) +{ + gossip_url_show (link); +} + +GtkWidget * +gossip_link_button_new (const gchar *url, + const gchar *title) +{ + static gboolean hook = FALSE; + + if (!hook) { + hook = TRUE; + gtk_link_button_set_uri_hook (link_button_hook, NULL, NULL); + } + + return gtk_link_button_new_with_label (url, title); +} + +/* FIXME: Do this in a proper way at some point, probably in GTK+? */ +void +gossip_window_set_default_icon_name (const gchar *name) +{ + gtk_window_set_default_icon_name (name); +} + +void +gossip_toggle_button_set_state_quietly (GtkWidget *widget, + GCallback callback, + gpointer user_data, + gboolean active) +{ + g_return_if_fail (GTK_IS_TOGGLE_BUTTON (widget)); + + g_signal_handlers_block_by_func (widget, callback, user_data); + g_object_set (widget, "active", active, NULL); + g_signal_handlers_unblock_by_func (widget, callback, user_data); +} + diff --git a/trunk/libempathy-gtk/gossip-ui-utils.h b/trunk/libempathy-gtk/gossip-ui-utils.h new file mode 100644 index 000000000..d1625cfe3 --- /dev/null +++ b/trunk/libempathy-gtk/gossip-ui-utils.h @@ -0,0 +1,115 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2002-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + * + * Part of this file is copied from GtkSourceView (gtksourceiter.c): + * Paolo Maggi + * Jeroen Zwartepoorte + */ + +#ifndef __GOSSIP_UI_UTILS_H__ +#define __GOSSIP_UI_UTILS_H__ + +#include <gtk/gtk.h> +#include <glade/glade.h> + +#include <libmissioncontrol/mc-account.h> +#include <libmissioncontrol/mc-profile.h> + +#include <libempathy/gossip-presence.h> +#include <libempathy/gossip-contact.h> +#include <libempathy/gossip-avatar.h> + +#include "gossip-chat-view.h" + +G_BEGIN_DECLS + +#define G_STR_EMPTY(x) ((x) == NULL || (x)[0] == '\0') + +/* Glade */ +void gossip_glade_get_file_simple (const gchar *filename, + const gchar *root, + const gchar *domain, + const gchar *first_required_widget, + ...); +GladeXML * gossip_glade_get_file (const gchar *filename, + const gchar *root, + const gchar *domain, + const gchar *first_required_widget, + ...); +void gossip_glade_connect (GladeXML *gui, + gpointer user_data, + gchar *first_widget, + ...); +void gossip_glade_setup_size_group (GladeXML *gui, + GtkSizeGroupMode mode, + gchar *first_widget, + ...); +/* Pixbufs */ +GdkPixbuf * gossip_pixbuf_from_icon_name (const gchar *icon_name, + GtkIconSize icon_size); +GdkPixbuf * gossip_pixbuf_from_smiley (GossipSmiley type, + GtkIconSize icon_size); +const gchar * gossip_icon_name_from_account (McAccount *account); +const gchar * gossip_icon_name_for_presence_state (McPresence state); +const gchar * gossip_icon_name_for_presence (GossipPresence *presence); +const gchar * gossip_icon_name_for_contact (GossipContact *contact); +GdkPixbuf * gossip_pixbuf_from_avatar_scaled (GossipAvatar *avatar, + gint width, + gint height); +GdkPixbuf * gossip_pixbuf_avatar_from_contact (GossipContact *contact); +GdkPixbuf * gossip_pixbuf_avatar_from_contact_scaled (GossipContact *contact, + gint width, + gint height); +/* Text view */ +gboolean gossip_text_iter_forward_search (const GtkTextIter *iter, + const gchar *str, + GtkTextIter *match_start, + GtkTextIter *match_end, + const GtkTextIter *limit); +gboolean gossip_text_iter_backward_search (const GtkTextIter *iter, + const gchar *str, + GtkTextIter *match_start, + GtkTextIter *match_end, + const GtkTextIter *limit); + +/* Windows */ +gboolean gossip_window_get_is_visible (GtkWindow *window); +void gossip_window_present (GtkWindow *window, + gboolean steal_focus); +void gossip_window_set_default_icon_name (const gchar *name); + +void gossip_url_show (const char *url); + +void gossip_toggle_button_set_state_quietly (GtkWidget *widget, + GCallback callback, + gpointer user_data, + gboolean active); +GtkWidget *gossip_link_button_new (const gchar *url, + const gchar *title); + + +G_END_DECLS + +#endif /* __GOSSIP_UI_UTILS_H__ */ diff --git a/trunk/libempathy/Makefile.am b/trunk/libempathy/Makefile.am new file mode 100644 index 000000000..2b1d75ecf --- /dev/null +++ b/trunk/libempathy/Makefile.am @@ -0,0 +1,63 @@ +AM_CPPFLAGS = \ + -I. \ + -I$(top_srcdir) \ + -DDATADIR=\""$(datadir)"\" \ + -DLOCALEDIR=\""$(datadir)/locale"\" \ + $(LIBEMPATHY_CFLAGS) \ + $(WARN_CFLAGS) + +BUILT_SOURCES = \ + empathy-marshal.h \ + empathy-marshal.c \ + empathy-chandler-glue.h + +noinst_LTLIBRARIES = libempathy.la + +libempathy_la_SOURCES = \ + gossip-conf.c gossip-conf.h \ + gossip-contact.c gossip-contact.h \ + gossip-avatar.c gossip-avatar.h \ + gossip-time.c gossip-time.h \ + gossip-presence.c gossip-presence.h \ + gossip-telepathy-group.c gossip-telepathy-group.h \ + gossip-paths.c gossip-paths.h \ + gossip-debug.c gossip-debug.h \ + gossip-utils.c gossip-utils.h \ + gossip-message.c gossip-message.h \ + gossip-chatroom-manager.c gossip-chatroom-manager.h \ + gossip-chatroom.c gossip-chatroom.h \ + empathy-contact-list.c empathy-contact-list.h \ + empathy-contact-manager.c empathy-contact-manager.h \ + empathy-tp-contact-list.c empathy-tp-contact-list.h \ + empathy-tp-chat.c empathy-tp-chat.h \ + empathy-tp-chatroom.c empathy-tp-chatroom.h \ + empathy-chandler.c empathy-chandler.h \ + empathy-idle.c empathy-idle.h \ + empathy-marshal-main.c + +libempathy_la_LIBADD = \ + $(LIBEMPATHY_LIBS) + +libempathy_includedir = $(includedir)/empathy/ + +%-marshal.h: %-marshal.list Makefile.am + $(GLIB_GENMARSHAL) --header --prefix=$(subst -,_,$*)_marshal $< > $*-marshal.h + +%-marshal.c: %-marshal.list Makefile.am + $(GLIB_GENMARSHAL) --body --prefix=$(subst -,_,$*)_marshal $< > $*-marshal.c + +%-marshal-main.c: %-marshal.c %-marshal.h + +empathy-chandler-glue.h: empathy-chandler.xml + $(LIBTOOL) --mode=execute $(DBUS_BINDING_TOOL) --prefix=empathy_chandler --mode=glib-server --output=$@ $< + +dtddir = $(datadir)/empathy +dtd_DATA = \ + gossip-chatroom-manager.dtd + +EXTRA_DIST = \ + empathy-marshal.list \ + empathy-chandler.xml \ + $(dtd_DATA) + +CLEANFILES = $(BUILT_SOURCES) diff --git a/trunk/libempathy/empathy-chandler.c b/trunk/libempathy/empathy-chandler.c new file mode 100644 index 000000000..5e9ca82f3 --- /dev/null +++ b/trunk/libempathy/empathy-chandler.c @@ -0,0 +1,151 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <dbus/dbus-glib.h> + +#include <libtelepathy/tp-helpers.h> +#include <libtelepathy/tp-conn.h> +#include <libtelepathy/tp-chan.h> + +#include "empathy-chandler.h" +#include "gossip-debug.h" +#include "empathy-marshal.h" + +#define DEBUG_DOMAIN "EmpathyChandler" + +static gboolean empathy_chandler_handle_channel (EmpathyChandler *chandler, + const gchar *bus_name, + const gchar *connection, + const gchar *channel_type, + const gchar *channel, + guint handle_type, + guint handle, + GError **error); + +#include "empathy-chandler-glue.h" + +enum { + NEW_CHANNEL, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL]; + +G_DEFINE_TYPE (EmpathyChandler, empathy_chandler, G_TYPE_OBJECT) + +static void +empathy_chandler_class_init (EmpathyChandlerClass *klass) +{ + signals[NEW_CHANNEL] = + g_signal_new ("new-channel", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + empathy_marshal_VOID__OBJECT_OBJECT, + G_TYPE_NONE, + 2, TELEPATHY_CONN_TYPE, TELEPATHY_CHAN_TYPE); +} + +static void +empathy_chandler_init (EmpathyChandler *chandler) +{ +} + +EmpathyChandler * +empathy_chandler_new (const gchar *bus_name, + const gchar *object_path) +{ + static gboolean initialized = FALSE; + EmpathyChandler *chandler; + DBusGProxy *proxy; + guint result; + GError *error = NULL; + + if (!initialized) { + dbus_g_object_type_install_info (EMPATHY_TYPE_CHANDLER, + &dbus_glib_empathy_chandler_object_info); + initialized = TRUE; + } + + proxy = dbus_g_proxy_new_for_name (tp_get_bus (), + DBUS_SERVICE_DBUS, + DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS); + + if (!dbus_g_proxy_call (proxy, "RequestName", &error, + G_TYPE_STRING, bus_name, + G_TYPE_UINT, DBUS_NAME_FLAG_DO_NOT_QUEUE, + G_TYPE_INVALID, + G_TYPE_UINT, &result, + G_TYPE_INVALID)) { + gossip_debug (DEBUG_DOMAIN, + "Failed to request name: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + + return NULL; + } + g_object_unref (proxy); + + chandler = g_object_new (EMPATHY_TYPE_CHANDLER, NULL); + dbus_g_connection_register_g_object (tp_get_bus (), + object_path, + G_OBJECT (chandler)); + + return chandler; +} + +static gboolean +empathy_chandler_handle_channel (EmpathyChandler *chandler, + const gchar *bus_name, + const gchar *connection, + const gchar *channel_type, + const gchar *channel, + guint handle_type, + guint handle, + GError **error) +{ + TpChan *tp_chan; + TpConn *tp_conn; + + tp_conn = tp_conn_new (tp_get_bus (), + bus_name, + connection); + + tp_chan = tp_chan_new (tp_get_bus(), + bus_name, + channel, + channel_type, + handle_type, + handle); + + g_signal_emit (chandler, signals[NEW_CHANNEL], 0, tp_conn, tp_chan); + + g_object_unref (tp_chan); + g_object_unref (tp_conn); + + return TRUE; +} + diff --git a/trunk/libempathy/empathy-chandler.h b/trunk/libempathy/empathy-chandler.h new file mode 100644 index 000000000..89d83044e --- /dev/null +++ b/trunk/libempathy/empathy-chandler.h @@ -0,0 +1,54 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __EMPATHY_CHANDLER_H__ +#define __EMPATHY_CHANDLER_H__ + +#include <glib.h> + +G_BEGIN_DECLS + +#define EMPATHY_TYPE_CHANDLER (empathy_chandler_get_type ()) +#define EMPATHY_CHANDLER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_CHANDLER, EmpathyChandler)) +#define EMPATHY_CHANDLER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), EMPATHY_TYPE_CHANDLER, EmpathyChandlerClass)) +#define EMPATHY_IS_CHANDLER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_CHANDLER)) +#define EMPATHY_IS_CHANDLER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_CHANDLER)) +#define EMPATHY_CHANDLER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_CHANDLER, EmpathyChandlerClass)) + +typedef struct _EmpathyChandler EmpathyChandler; +typedef struct _EmpathyChandlerClass EmpathyChandlerClass; + +struct _EmpathyChandler { + GObject parent; +}; + +struct _EmpathyChandlerClass { + GObjectClass parent_class; +}; + +GType empathy_chandler_get_type (void) G_GNUC_CONST; +EmpathyChandler *empathy_chandler_new (const gchar *bus_name, + const gchar *object_path); + +G_END_DECLS + +#endif /* __EMPATHY_CHANDLER_H__ */ diff --git a/trunk/libempathy/empathy-chandler.xml b/trunk/libempathy/empathy-chandler.xml new file mode 100644 index 000000000..0fb264e5f --- /dev/null +++ b/trunk/libempathy/empathy-chandler.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<node name="/"> + <interface name="org.freedesktop.Telepathy.ChannelHandler"> + <method name="HandleChannel"> + <arg direction="in" type="s" name="bus_name" /> + <arg direction="in" type="o" name="connection" /> + <arg direction="in" type="s" name="channel_type" /> + <arg direction="in" type="o" name="channel" /> + <arg direction="in" type="u" name="handle_type" /> + <arg direction="in" type="u" name="handle" /> + </method> + </interface> +</node> diff --git a/trunk/libempathy/empathy-contact-list.c b/trunk/libempathy/empathy-contact-list.c new file mode 100644 index 000000000..b7d02010b --- /dev/null +++ b/trunk/libempathy/empathy-contact-list.c @@ -0,0 +1,135 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include "empathy-contact-list.h" + +static void contact_list_base_init (gpointer klass); + +GType +empathy_contact_list_get_type (void) +{ + static GType type = 0; + + if (!type) { + static const GTypeInfo type_info = { + sizeof (EmpathyContactListIface), + contact_list_base_init, + NULL, + }; + + type = g_type_register_static (G_TYPE_INTERFACE, + "EmpathyContactList", + &type_info, 0); + } + + return type; +} + +static void +contact_list_base_init (gpointer klass) +{ + static gboolean initialized = FALSE; + + if (!initialized) { + g_signal_new ("contact-added", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, + 1, GOSSIP_TYPE_CONTACT); + + g_signal_new ("contact-removed", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, + 1, GOSSIP_TYPE_CONTACT); + + initialized = TRUE; + } +} + +void +empathy_contact_list_setup (EmpathyContactList *list) +{ + g_return_if_fail (EMPATHY_IS_CONTACT_LIST (list)); + + if (EMPATHY_CONTACT_LIST_GET_IFACE (list)->setup) { + EMPATHY_CONTACT_LIST_GET_IFACE (list)->setup (list); + } +} + +GossipContact * +empathy_contact_list_find (EmpathyContactList *list, + const gchar *id) +{ + g_return_val_if_fail (EMPATHY_IS_CONTACT_LIST (list), NULL); + + if (EMPATHY_CONTACT_LIST_GET_IFACE (list)->find) { + return EMPATHY_CONTACT_LIST_GET_IFACE (list)->find (list, id); + } + + return NULL; +} + +void +empathy_contact_list_add (EmpathyContactList *list, + GossipContact *contact, + const gchar *message) +{ + g_return_if_fail (EMPATHY_IS_CONTACT_LIST (list)); + + if (EMPATHY_CONTACT_LIST_GET_IFACE (list)->add) { + EMPATHY_CONTACT_LIST_GET_IFACE (list)->add (list, contact, message); + } +} + +void +empathy_contact_list_remove (EmpathyContactList *list, + GossipContact *contact, + const gchar *message) +{ + g_return_if_fail (EMPATHY_IS_CONTACT_LIST (list)); + + if (EMPATHY_CONTACT_LIST_GET_IFACE (list)->remove) { + EMPATHY_CONTACT_LIST_GET_IFACE (list)->remove (list, contact, message); + } +} + +GList * +empathy_contact_list_get_contacts (EmpathyContactList *list) +{ + g_return_val_if_fail (EMPATHY_IS_CONTACT_LIST (list), NULL); + + if (EMPATHY_CONTACT_LIST_GET_IFACE (list)->get_contacts) { + return EMPATHY_CONTACT_LIST_GET_IFACE (list)->get_contacts (list); + } + + return NULL; +} + diff --git a/trunk/libempathy/empathy-contact-list.h b/trunk/libempathy/empathy-contact-list.h new file mode 100644 index 000000000..02ec3186d --- /dev/null +++ b/trunk/libempathy/empathy-contact-list.h @@ -0,0 +1,71 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __EMPATHY_CONTACT_LIST_H__ +#define __EMPATHY_CONTACT_LIST_H__ + +#include <glib-object.h> + +#include "gossip-contact.h" + +G_BEGIN_DECLS + +#define EMPATHY_TYPE_CONTACT_LIST (empathy_contact_list_get_type ()) +#define EMPATHY_CONTACT_LIST(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_CONTACT_LIST, EmpathyContactList)) +#define EMPATHY_IS_CONTACT_LIST(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_CONTACT_LIST)) +#define EMPATHY_CONTACT_LIST_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), EMPATHY_TYPE_CONTACT_LIST, EmpathyContactListIface)) + +typedef struct _EmpathyContactList EmpathyContactList; +typedef struct _EmpathyContactListIface EmpathyContactListIface; + +struct _EmpathyContactListIface { + GTypeInterface base_iface; + + /* VTabled */ + void (*setup) (EmpathyContactList *list); + GossipContact * (*find) (EmpathyContactList *list, + const gchar *id); + void (*add) (EmpathyContactList *list, + GossipContact *contact, + const gchar *message); + void (*remove) (EmpathyContactList *list, + GossipContact *contact, + const gchar *message); + GList * (*get_contacts) (EmpathyContactList *list); +}; + +GType empathy_contact_list_get_type (void) G_GNUC_CONST; +void empathy_contact_list_setup (EmpathyContactList *list); +GossipContact * empathy_contact_list_find (EmpathyContactList *list, + const gchar *id); +void empathy_contact_list_add (EmpathyContactList *list, + GossipContact *contact, + const gchar *message); +void empathy_contact_list_remove (EmpathyContactList *list, + GossipContact *contact, + const gchar *message); +GList * empathy_contact_list_get_contacts (EmpathyContactList *list); + +G_END_DECLS + +#endif /* __EMPATHY_CONTACT_LIST_H__ */ + diff --git a/trunk/libempathy/empathy-contact-manager.c b/trunk/libempathy/empathy-contact-manager.c new file mode 100644 index 000000000..fa62da98f --- /dev/null +++ b/trunk/libempathy/empathy-contact-manager.c @@ -0,0 +1,556 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <string.h> + +#include <libtelepathy/tp-constants.h> + +#include "empathy-contact-manager.h" +#include "empathy-contact-list.h" +#include "gossip-utils.h" +#include "gossip-debug.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \ + EMPATHY_TYPE_CONTACT_MANAGER, EmpathyContactManagerPriv)) + +#define DEBUG_DOMAIN "ContactManager" + +struct _EmpathyContactManagerPriv { + GHashTable *lists; + MissionControl *mc; + gboolean setup; +}; + +typedef struct { + const gchar *old_group; + const gchar *new_group; +} ContactManagerRenameGroupData; + +typedef struct { + GossipContact *contact; + const gchar *id; +} ContactManagerFindData; + +static void empathy_contact_manager_class_init (EmpathyContactManagerClass *klass); +static void contact_manager_iface_init (EmpathyContactListIface *iface); +static void empathy_contact_manager_init (EmpathyContactManager *manager); +static void contact_manager_finalize (GObject *object); +static void contact_manager_setup (EmpathyContactList *manager); +static GossipContact *contact_manager_find (EmpathyContactList *manager, + const gchar *id); +static void contact_manager_add (EmpathyContactList *manager, + GossipContact *contact, + const gchar *message); +static void contact_manager_remove (EmpathyContactList *manager, + GossipContact *contact, + const gchar *message); +static GList * contact_manager_get_contacts (EmpathyContactList *manager); +static void contact_manager_setup_foreach (McAccount *account, + EmpathyTpContactList *list, + EmpathyContactManager *manager); +static gboolean contact_manager_find_foreach (McAccount *account, + EmpathyTpContactList *list, + ContactManagerFindData *data); +static void contact_manager_add_account (EmpathyContactManager *manager, + McAccount *account); +static void contact_manager_added_cb (EmpathyTpContactList *list, + GossipContact *contact, + EmpathyContactManager *manager); +static void contact_manager_removed_cb (EmpathyTpContactList *list, + GossipContact *contact, + EmpathyContactManager *manager); +static void contact_manager_destroy_cb (EmpathyTpContactList *list, + EmpathyContactManager *manager); +static void contact_manager_rename_group_foreach (McAccount *account, + EmpathyTpContactList *list, + ContactManagerRenameGroupData *data); +static void contact_manager_get_groups_foreach (McAccount *account, + EmpathyTpContactList *list, + GList **all_groups); +static void contact_manager_get_contacts_foreach (McAccount *account, + EmpathyTpContactList *list, + GList **contacts); +static void contact_manager_status_changed_cb (MissionControl *mc, + TelepathyConnectionStatus status, + McPresence presence, + TelepathyConnectionStatusReason reason, + const gchar *unique_name, + EmpathyContactManager *manager); + +G_DEFINE_TYPE_WITH_CODE (EmpathyContactManager, empathy_contact_manager, G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE (EMPATHY_TYPE_CONTACT_LIST, + contact_manager_iface_init)); + +static void +empathy_contact_manager_class_init (EmpathyContactManagerClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = contact_manager_finalize; + + g_type_class_add_private (object_class, sizeof (EmpathyContactManagerPriv)); +} + +static void +contact_manager_iface_init (EmpathyContactListIface *iface) +{ + iface->setup = contact_manager_setup; + iface->find = contact_manager_find; + iface->add = contact_manager_add; + iface->remove = contact_manager_remove; + iface->get_contacts = contact_manager_get_contacts; +} + +static void +empathy_contact_manager_init (EmpathyContactManager *manager) +{ + EmpathyContactManagerPriv *priv; + GSList *accounts, *l; + + priv = GET_PRIV (manager); + + priv->lists = g_hash_table_new_full (gossip_account_hash, + gossip_account_equal, + (GDestroyNotify) g_object_unref, + (GDestroyNotify) g_object_unref); + + priv->mc = gossip_mission_control_new (); + + dbus_g_proxy_connect_signal (DBUS_G_PROXY (priv->mc), + "AccountStatusChanged", + G_CALLBACK (contact_manager_status_changed_cb), + manager, NULL); + + /* Get ContactList for existing connections */ + accounts = mission_control_get_online_connections (priv->mc, NULL); + for (l = accounts; l; l = l->next) { + McAccount *account; + + account = l->data; + contact_manager_add_account (manager, account); + + g_object_unref (account); + } + g_slist_free (accounts); +} + +static void +contact_manager_finalize (GObject *object) +{ + EmpathyContactManagerPriv *priv; + + priv = GET_PRIV (object); + + g_hash_table_destroy (priv->lists); + g_object_unref (priv->mc); +} + +EmpathyContactManager * +empathy_contact_manager_new (void) +{ + static EmpathyContactManager *manager = NULL; + + if (!manager) { + manager = g_object_new (EMPATHY_TYPE_CONTACT_MANAGER, NULL); + g_object_add_weak_pointer (G_OBJECT (manager), (gpointer) &manager); + } else { + g_object_ref (manager); + } + + return manager; +} + +static void +contact_manager_setup (EmpathyContactList *manager) +{ + EmpathyContactManagerPriv *priv; + + g_return_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager)); + + priv = GET_PRIV (manager); + + if (priv->setup) { + /* Already done */ + return; + } + + g_hash_table_foreach (priv->lists, + (GHFunc) contact_manager_setup_foreach, + manager); + + priv->setup = TRUE; +} + +static GossipContact * +contact_manager_find (EmpathyContactList *manager, + const gchar *id) +{ + EmpathyContactManagerPriv *priv; + ContactManagerFindData data; + + g_return_val_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager), NULL); + g_return_val_if_fail (id != NULL, NULL); + + priv = GET_PRIV (manager); + + data.contact = NULL; + data.id = id; + + g_hash_table_find (priv->lists, + (GHRFunc) contact_manager_find_foreach, + &data); + + return data.contact; +} + +static void +contact_manager_add (EmpathyContactList *manager, + GossipContact *contact, + const gchar *message) +{ + EmpathyContactManagerPriv *priv; + EmpathyContactList *list; + McAccount *account; + + g_return_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager)); + g_return_if_fail (GOSSIP_IS_CONTACT (contact)); + + priv = GET_PRIV (manager); + + account = gossip_contact_get_account (contact); + list = g_hash_table_lookup (priv->lists, account); + + if (list) { + empathy_contact_list_add (list, contact, message); + } +} + +static void +contact_manager_remove (EmpathyContactList *manager, + GossipContact *contact, + const gchar *message) +{ + EmpathyContactManagerPriv *priv; + EmpathyContactList *list; + McAccount *account; + + g_return_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager)); + g_return_if_fail (GOSSIP_IS_CONTACT (contact)); + + priv = GET_PRIV (manager); + + account = gossip_contact_get_account (contact); + list = g_hash_table_lookup (priv->lists, account); + + if (list) { + empathy_contact_list_remove (list, contact, message); + } +} + +static GList * +contact_manager_get_contacts (EmpathyContactList *manager) +{ + EmpathyContactManagerPriv *priv; + GList *contacts = NULL; + + g_return_val_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager), NULL); + + priv = GET_PRIV (manager); + + g_hash_table_foreach (priv->lists, + (GHFunc) contact_manager_get_contacts_foreach, + &contacts); + + return contacts; +} + +EmpathyTpContactList * +empathy_contact_manager_get_list (EmpathyContactManager *manager, + McAccount *account) +{ + EmpathyContactManagerPriv *priv; + + g_return_val_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager), NULL); + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + + priv = GET_PRIV (manager); + + return g_hash_table_lookup (priv->lists, account); +} + +GossipContact * +empathy_contact_manager_get_user (EmpathyContactManager *manager, + McAccount *account) +{ + EmpathyContactManagerPriv *priv; + EmpathyTpContactList *list; + + g_return_val_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager), NULL); + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + + priv = GET_PRIV (manager); + + list = g_hash_table_lookup (priv->lists, account); + + if (!list) { + return NULL; + } + + return empathy_tp_contact_list_get_user (list); +} + +GossipContact * +empathy_contact_manager_create (EmpathyContactManager *manager, + McAccount *account, + const gchar *id) +{ + EmpathyContactManagerPriv *priv; + EmpathyTpContactList *list; + + g_return_val_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager), NULL); + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + g_return_val_if_fail (id != NULL, NULL); + + priv = GET_PRIV (manager); + + list = g_hash_table_lookup (priv->lists, account); + + if (!list) { + return NULL; + } + + return empathy_tp_contact_list_get_from_id (list, id); +} + +void +empathy_contact_manager_rename_group (EmpathyContactManager *manager, + const gchar *old_group, + const gchar *new_group) +{ + EmpathyContactManagerPriv *priv; + ContactManagerRenameGroupData data; + + g_return_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager)); + g_return_if_fail (old_group != NULL); + g_return_if_fail (new_group != NULL); + + priv = GET_PRIV (manager); + + data.old_group = old_group; + data.new_group = new_group; + + g_hash_table_foreach (priv->lists, + (GHFunc) contact_manager_rename_group_foreach, + &data); +} + +GList * +empathy_contact_manager_get_groups (EmpathyContactManager *manager) +{ + EmpathyContactManagerPriv *priv; + GList *groups = NULL; + + g_return_val_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager), NULL); + + priv = GET_PRIV (manager); + + g_hash_table_foreach (priv->lists, + (GHFunc) contact_manager_get_groups_foreach, + &groups); + + return groups; +} + +static void +contact_manager_setup_foreach (McAccount *account, + EmpathyTpContactList *list, + EmpathyContactManager *manager) +{ + empathy_contact_list_setup (EMPATHY_CONTACT_LIST (list)); +} + +static gboolean +contact_manager_find_foreach (McAccount *account, + EmpathyTpContactList *list, + ContactManagerFindData *data) +{ + data->contact = empathy_contact_list_find (EMPATHY_CONTACT_LIST (list), + data->id); + + if (data->contact) { + return TRUE; + } + + return FALSE; +} + +static void +contact_manager_add_account (EmpathyContactManager *manager, + McAccount *account) +{ + EmpathyContactManagerPriv *priv; + EmpathyTpContactList *list; + + priv = GET_PRIV (manager); + + if (g_hash_table_lookup (priv->lists, account)) { + return; + } + + gossip_debug (DEBUG_DOMAIN, "Adding new account: %s", + mc_account_get_display_name (account)); + + list = empathy_tp_contact_list_new (account); + if (!list) { + return; + } + + g_hash_table_insert (priv->lists, g_object_ref (account), list); + + /* Connect signals */ + g_signal_connect (list, "contact-added", + G_CALLBACK (contact_manager_added_cb), + manager); + g_signal_connect (list, "contact-removed", + G_CALLBACK (contact_manager_removed_cb), + manager); + g_signal_connect (list, "destroy", + G_CALLBACK (contact_manager_destroy_cb), + manager); + + if (priv->setup) { + empathy_contact_list_setup (EMPATHY_CONTACT_LIST (list)); + } +} + +static void +contact_manager_added_cb (EmpathyTpContactList *list, + GossipContact *contact, + EmpathyContactManager *manager) +{ + g_signal_emit_by_name (manager, "contact-added", contact); +} + +static void +contact_manager_removed_cb (EmpathyTpContactList *list, + GossipContact *contact, + EmpathyContactManager *manager) +{ + g_signal_emit_by_name (manager, "contact-removed", contact); +} + +static void +contact_manager_destroy_cb (EmpathyTpContactList *list, + EmpathyContactManager *manager) +{ + EmpathyContactManagerPriv *priv; + McAccount *account; + + priv = GET_PRIV (manager); + + account = empathy_tp_contact_list_get_account (list); + + gossip_debug (DEBUG_DOMAIN, "Removing account: %s", + mc_account_get_display_name (account)); + + /* Disconnect signals from the list */ + g_signal_handlers_disconnect_by_func (list, + contact_manager_added_cb, + manager); + g_signal_handlers_disconnect_by_func (list, + contact_manager_removed_cb, + manager); + g_signal_handlers_disconnect_by_func (list, + contact_manager_destroy_cb, + manager); + + g_hash_table_remove (priv->lists, account); +} + +static void +contact_manager_rename_group_foreach (McAccount *account, + EmpathyTpContactList *list, + ContactManagerRenameGroupData *data) +{ + empathy_tp_contact_list_rename_group (list, + data->old_group, + data->new_group); +} + +static void +contact_manager_get_groups_foreach (McAccount *account, + EmpathyTpContactList *list, + GList **all_groups) +{ + GList *groups, *l; + + groups = empathy_tp_contact_list_get_groups (list); + for (l = groups; l; l = l->next) { + if (!g_list_find_custom (*all_groups, + l->data, + (GCompareFunc) strcmp)) { + *all_groups = g_list_append (*all_groups, + g_strdup (l->data)); + } + g_free (l->data); + } + + g_list_free (groups); +} + +static void +contact_manager_get_contacts_foreach (McAccount *account, + EmpathyTpContactList *list, + GList **contacts) +{ + GList *l; + + l = empathy_contact_list_get_contacts (EMPATHY_CONTACT_LIST (list)); + *contacts = g_list_concat (*contacts, l); +} + +static void +contact_manager_status_changed_cb (MissionControl *mc, + TelepathyConnectionStatus status, + McPresence presence, + TelepathyConnectionStatusReason reason, + const gchar *unique_name, + EmpathyContactManager *manager) +{ + EmpathyContactManagerPriv *priv; + McAccount *account; + + priv = GET_PRIV (manager); + + if (status != TP_CONN_STATUS_CONNECTED) { + /* We only care about newly connected accounts */ + return; + } + + account = mc_account_lookup (unique_name); + contact_manager_add_account (manager, account); + + g_object_unref (account); +} + diff --git a/trunk/libempathy/empathy-contact-manager.h b/trunk/libempathy/empathy-contact-manager.h new file mode 100644 index 000000000..db893b486 --- /dev/null +++ b/trunk/libempathy/empathy-contact-manager.h @@ -0,0 +1,70 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __EMPATHY_CONTACT_MANAGER_H__ +#define __EMPATHY_CONTACT_MANAGER_H__ + +#include <glib.h> + +#include <libmissioncontrol/mc-account.h> + +#include "gossip-contact.h" +#include "empathy-tp-contact-list.h" + +G_BEGIN_DECLS + +#define EMPATHY_TYPE_CONTACT_MANAGER (empathy_contact_manager_get_type ()) +#define EMPATHY_CONTACT_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_CONTACT_MANAGER, EmpathyContactManager)) +#define EMPATHY_CONTACT_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EMPATHY_TYPE_CONTACT_MANAGER, EmpathyContactManagerClass)) +#define EMPATHY_IS_CONTACT_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_CONTACT_MANAGER)) +#define EMPATHY_IS_CONTACT_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_CONTACT_MANAGER)) +#define EMPATHY_CONTACT_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_CONTACT_MANAGER, EmpathyContactManagerClass)) + +typedef struct _EmpathyContactManager EmpathyContactManager; +typedef struct _EmpathyContactManagerClass EmpathyContactManagerClass; +typedef struct _EmpathyContactManagerPriv EmpathyContactManagerPriv; + +struct _EmpathyContactManager { + GObject parent; +}; + +struct _EmpathyContactManagerClass { + GObjectClass parent_class; +}; + +GType empathy_contact_manager_get_type (void) G_GNUC_CONST; +EmpathyContactManager *empathy_contact_manager_new (void); +EmpathyTpContactList * empathy_contact_manager_get_list (EmpathyContactManager *manager, + McAccount *account); +GossipContact * empathy_contact_manager_get_user (EmpathyContactManager *manager, + McAccount *account); +GossipContact * empathy_contact_manager_create (EmpathyContactManager *manager, + McAccount *account, + const gchar *id); +void empathy_contact_manager_rename_group (EmpathyContactManager *manager, + const gchar *old_group, + const gchar *new_group); +GList * empathy_contact_manager_get_groups (EmpathyContactManager *manager); + +G_END_DECLS + +#endif /* __EMPATHY_CONTACT_MANAGER_H__ */ diff --git a/trunk/libempathy/empathy-idle.c b/trunk/libempathy/empathy-idle.c new file mode 100644 index 000000000..6b9cfb3b9 --- /dev/null +++ b/trunk/libempathy/empathy-idle.c @@ -0,0 +1,240 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <glib/gi18n.h> +#include <dbus/dbus-glib.h> + +#include <libtelepathy/tp-helpers.h> + +#include <libmissioncontrol/mission-control.h> + +#include "empathy-idle.h" +#include "gossip-utils.h" +#include "gossip-debug.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \ + EMPATHY_TYPE_IDLE, EmpathyIdlePriv)) + +#define DEBUG_DOMAIN "Idle" + +/* Number of seconds before entering extended autoaway. */ +#define EXT_AWAY_TIME (30*60) + +enum { + LAST_SIGNAL +}; + +struct _EmpathyIdlePriv { + MissionControl *mc; + DBusGProxy *gs_proxy; + gboolean is_idle; + McPresence saved_state; + gchar *saved_status; + guint ext_away_timeout; +}; + +static void empathy_idle_class_init (EmpathyIdleClass *klass); +static void empathy_idle_init (EmpathyIdle *idle); +static void idle_finalize (GObject *object); +static void idle_session_idle_changed_cb (DBusGProxy *gs_proxy, + gboolean is_idle, + EmpathyIdle *idle); +static void idle_ext_away_start (EmpathyIdle *idle); +static void idle_ext_away_stop (EmpathyIdle *idle); +static gboolean idle_ext_away_cb (EmpathyIdle *idle); + +//static guint signals[LAST_SIGNAL]; + +G_DEFINE_TYPE (EmpathyIdle, empathy_idle, G_TYPE_OBJECT) + +static void +empathy_idle_class_init (EmpathyIdleClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = idle_finalize; + + g_type_class_add_private (object_class, sizeof (EmpathyIdlePriv)); +} + +static void +empathy_idle_init (EmpathyIdle *idle) +{ + EmpathyIdlePriv *priv; + + priv = GET_PRIV (idle); + + priv->is_idle = FALSE; + priv->mc = gossip_mission_control_new (); + priv->gs_proxy = dbus_g_proxy_new_for_name (tp_get_bus (), + "org.gnome.ScreenSaver", + "/org/gnome/ScreenSaver", + "org.gnome.ScreenSaver"); + if (!priv->gs_proxy) { + gossip_debug (DEBUG_DOMAIN, "Failed to get gs proxy"); + return; + } + + dbus_g_proxy_add_signal (priv->gs_proxy, "SessionIdleChanged", + G_TYPE_BOOLEAN, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal (priv->gs_proxy, "SessionIdleChanged", + G_CALLBACK (idle_session_idle_changed_cb), + idle, NULL); +} + +static void +idle_finalize (GObject *object) +{ + EmpathyIdlePriv *priv; + + priv = GET_PRIV (object); + + g_free (priv->saved_status); + g_object_unref (priv->mc); + + if (priv->gs_proxy) { + g_object_unref (priv->gs_proxy); + } + + idle_ext_away_stop (EMPATHY_IDLE (object)); +} + +EmpathyIdle * +empathy_idle_new (void) +{ + static EmpathyIdle *idle = NULL; + + if (!idle) { + idle = g_object_new (EMPATHY_TYPE_IDLE, NULL); + g_object_add_weak_pointer (G_OBJECT (idle), (gpointer) &idle); + } else { + g_object_ref (idle); + } + + return idle; +} + +static void +idle_session_idle_changed_cb (DBusGProxy *gs_proxy, + gboolean is_idle, + EmpathyIdle *idle) +{ + EmpathyIdlePriv *priv; + + priv = GET_PRIV (idle); + + gossip_debug (DEBUG_DOMAIN, "Session idle state changed, %s -> %s", + priv->is_idle ? "yes" : "no", + is_idle ? "yes" : "no"); + + if (is_idle && !priv->is_idle) { + McPresence new_state = MC_PRESENCE_AWAY; + /* We are now idle, set state to away */ + + priv->saved_state = mission_control_get_presence_actual (priv->mc, NULL); + priv->saved_status = mission_control_get_presence_message_actual (priv->mc, NULL); + + if (priv->saved_state <= MC_PRESENCE_OFFLINE || + priv->saved_state == MC_PRESENCE_HIDDEN) { + /* We are not online so nothing to do here */ + return; + } else if (priv->saved_state == MC_PRESENCE_AWAY || + priv->saved_state == MC_PRESENCE_EXTENDED_AWAY) { + /* User set away manually, when coming back we restore + * default presence. */ + new_state = priv->saved_state; + priv->saved_state = MC_PRESENCE_AVAILABLE; + priv->saved_status = NULL; + } + + gossip_debug (DEBUG_DOMAIN, "Going to autoaway"); + mission_control_set_presence (priv->mc, + new_state, + priv->saved_status, + NULL, NULL); + idle_ext_away_start (idle); + } else if (!is_idle && priv->is_idle) { + /* We are no more idle, restore state */ + idle_ext_away_stop (idle); + + gossip_debug (DEBUG_DOMAIN, "Restoring state to %d %s", + priv->saved_state, + priv->saved_status); + + mission_control_set_presence (priv->mc, + priv->saved_state, + priv->saved_status, + NULL, NULL); + g_free (priv->saved_status); + priv->saved_status = NULL; + } + + priv->is_idle = is_idle; +} + +static void +idle_ext_away_start (EmpathyIdle *idle) +{ + EmpathyIdlePriv *priv; + + priv = GET_PRIV (idle); + + idle_ext_away_stop (idle); + priv->ext_away_timeout = g_timeout_add (EXT_AWAY_TIME * 1000, + (GSourceFunc) idle_ext_away_cb, + idle); +} + +static void +idle_ext_away_stop (EmpathyIdle *idle) +{ + EmpathyIdlePriv *priv; + + priv = GET_PRIV (idle); + + if (priv->ext_away_timeout) { + g_source_remove (priv->ext_away_timeout); + priv->ext_away_timeout = 0; + } +} + +static gboolean +idle_ext_away_cb (EmpathyIdle *idle) +{ + EmpathyIdlePriv *priv; + + priv = GET_PRIV (idle); + + gossip_debug (DEBUG_DOMAIN, "Going to extended autoaway"); + mission_control_set_presence (priv->mc, + MC_PRESENCE_EXTENDED_AWAY, + priv->saved_status, + NULL, NULL); + + priv->ext_away_timeout = 0; + + return FALSE; +} + diff --git a/trunk/libempathy/empathy-idle.h b/trunk/libempathy/empathy-idle.h new file mode 100644 index 000000000..df8846b9b --- /dev/null +++ b/trunk/libempathy/empathy-idle.h @@ -0,0 +1,54 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __EMPATHY_IDLE_H__ +#define __EMPATHY_IDLE_H__ + +#include <glib.h> + +G_BEGIN_DECLS + +#define EMPATHY_TYPE_IDLE (empathy_idle_get_type ()) +#define EMPATHY_IDLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_IDLE, EmpathyIdle)) +#define EMPATHY_IDLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), EMPATHY_TYPE_IDLE, EmpathyIdleClass)) +#define EMPATHY_IS_IDLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_IDLE)) +#define EMPATHY_IS_IDLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_IDLE)) +#define EMPATHY_IDLE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_IDLE, EmpathyIdleClass)) + +typedef struct _EmpathyIdle EmpathyIdle; +typedef struct _EmpathyIdleClass EmpathyIdleClass; +typedef struct _EmpathyIdlePriv EmpathyIdlePriv; + +struct _EmpathyIdle { + GObject parent; +}; + +struct _EmpathyIdleClass { + GObjectClass parent_class; +}; + +GType empathy_idle_get_type (void) G_GNUC_CONST; +EmpathyIdle *empathy_idle_new (void); + +G_END_DECLS + +#endif /* __EMPATHY_IDLE_H__ */ diff --git a/trunk/libempathy/empathy-marshal-main.c b/trunk/libempathy/empathy-marshal-main.c new file mode 100644 index 000000000..f3ab95f54 --- /dev/null +++ b/trunk/libempathy/empathy-marshal-main.c @@ -0,0 +1,2 @@ +#include "empathy-marshal.h" +#include "empathy-marshal.c" diff --git a/trunk/libempathy/empathy-marshal.list b/trunk/libempathy/empathy-marshal.list new file mode 100644 index 000000000..f13e9f08d --- /dev/null +++ b/trunk/libempathy/empathy-marshal.list @@ -0,0 +1,8 @@ +VOID:POINTER,UINT,UINT,STRING +VOID:OBJECT,UINT +VOID:OBJECT,OBJECT +VOID:INT,STRING +VOID:OBJECT,OBJECT,UINT +VOID:UINT,BOOLEAN +VOID:OBJECT,BOOLEAN +VOID:OBJECT,STRING,STRING diff --git a/trunk/libempathy/empathy-tp-chat.c b/trunk/libempathy/empathy-tp-chat.c new file mode 100644 index 000000000..ed6a49323 --- /dev/null +++ b/trunk/libempathy/empathy-tp-chat.c @@ -0,0 +1,630 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <string.h> + +#include <libtelepathy/tp-chan-type-text-gen.h> +#include <libtelepathy/tp-chan-iface-chat-state-gen.h> +#include <libtelepathy/tp-conn.h> +#include <libtelepathy/tp-helpers.h> + +#include "empathy-tp-chat.h" +#include "empathy-contact-manager.h" +#include "empathy-tp-contact-list.h" +#include "empathy-marshal.h" +#include "gossip-debug.h" +#include "gossip-time.h" +#include "gossip-utils.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \ + EMPATHY_TYPE_TP_CHAT, EmpathyTpChatPriv)) + +#define DEBUG_DOMAIN "TpChat" + +struct _EmpathyTpChatPriv { + EmpathyTpContactList *list; + EmpathyContactManager *manager; + McAccount *account; + gchar *id; + MissionControl *mc; + + TpChan *tp_chan; + DBusGProxy *text_iface; + DBusGProxy *chat_state_iface; +}; + +static void empathy_tp_chat_class_init (EmpathyTpChatClass *klass); +static void empathy_tp_chat_init (EmpathyTpChat *chat); +static void tp_chat_finalize (GObject *object); +static GObject * tp_chat_constructor (GType type, + guint n_props, + GObjectConstructParam *props); +static void tp_chat_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec); +static void tp_chat_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec); +static void tp_chat_destroy_cb (TpChan *text_chan, + EmpathyTpChat *chat); +static void tp_chat_closed_cb (TpChan *text_chan, + EmpathyTpChat *chat); +static void tp_chat_received_cb (DBusGProxy *text_iface, + guint message_id, + guint timestamp, + guint from_handle, + guint message_type, + guint message_flags, + gchar *message_body, + EmpathyTpChat *chat); +static void tp_chat_sent_cb (DBusGProxy *text_iface, + guint timestamp, + guint message_type, + gchar *message_body, + EmpathyTpChat *chat); +static void tp_chat_state_changed_cb (DBusGProxy *chat_state_iface, + guint handle, + TelepathyChannelChatState state, + EmpathyTpChat *chat); +static void tp_chat_emit_message (EmpathyTpChat *chat, + guint type, + guint timestamp, + guint from_handle, + const gchar *message_body); +enum { + PROP_0, + PROP_ACCOUNT, + PROP_TP_CHAN +}; + +enum { + MESSAGE_RECEIVED, + CHAT_STATE_CHANGED, + DESTROY, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL]; + +G_DEFINE_TYPE (EmpathyTpChat, empathy_tp_chat, G_TYPE_OBJECT); + +static void +empathy_tp_chat_class_init (EmpathyTpChatClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = tp_chat_finalize; + object_class->constructor = tp_chat_constructor; + object_class->get_property = tp_chat_get_property; + object_class->set_property = tp_chat_set_property; + + g_object_class_install_property (object_class, + PROP_ACCOUNT, + g_param_spec_object ("account", + "channel Account", + "The account associated with the channel", + MC_TYPE_ACCOUNT, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY)); + + g_object_class_install_property (object_class, + PROP_TP_CHAN, + g_param_spec_object ("tp-chan", + "telepathy channel", + "The text channel for the chat", + TELEPATHY_CHAN_TYPE, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY)); + + signals[MESSAGE_RECEIVED] = + g_signal_new ("message-received", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, + 1, GOSSIP_TYPE_MESSAGE); + + signals[CHAT_STATE_CHANGED] = + g_signal_new ("chat-state-changed", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + empathy_marshal_VOID__OBJECT_UINT, + G_TYPE_NONE, + 2, GOSSIP_TYPE_CONTACT, G_TYPE_UINT); + + signals[DESTROY] = + g_signal_new ("destroy", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); + + g_type_class_add_private (object_class, sizeof (EmpathyTpChatPriv)); +} + +static void +empathy_tp_chat_init (EmpathyTpChat *chat) +{ +} + + +static void +tp_chat_finalize (GObject *object) +{ + EmpathyTpChatPriv *priv; + EmpathyTpChat *chat; + GError *error = NULL; + + chat = EMPATHY_TP_CHAT (object); + priv = GET_PRIV (chat); + + if (priv->tp_chan) { + gossip_debug (DEBUG_DOMAIN, "Closing channel..."); + + g_signal_handlers_disconnect_by_func (priv->tp_chan, + tp_chat_destroy_cb, + object); + + if (!tp_chan_close (DBUS_G_PROXY (priv->tp_chan), &error)) { + gossip_debug (DEBUG_DOMAIN, + "Error closing text channel: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + } + g_object_unref (priv->tp_chan); + } + + if (priv->manager) { + g_object_unref (priv->manager); + } + if (priv->list) { + g_object_unref (priv->list); + } + if (priv->account) { + g_object_unref (priv->account); + } + if (priv->mc) { + g_object_unref (priv->mc); + } + g_free (priv->id); + + G_OBJECT_CLASS (empathy_tp_chat_parent_class)->finalize (object); +} + +static GObject * +tp_chat_constructor (GType type, + guint n_props, + GObjectConstructParam *props) +{ + GObject *chat; + EmpathyTpChatPriv *priv; + + chat = G_OBJECT_CLASS (empathy_tp_chat_parent_class)->constructor (type, n_props, props); + + priv = GET_PRIV (chat); + + priv->manager = empathy_contact_manager_new (); + priv->list = empathy_contact_manager_get_list (priv->manager, priv->account); + priv->mc = gossip_mission_control_new (); + g_object_ref (priv->list); + + priv->text_iface = tp_chan_get_interface (priv->tp_chan, + TELEPATHY_CHAN_IFACE_TEXT_QUARK); + priv->chat_state_iface = tp_chan_get_interface (priv->tp_chan, + TELEPATHY_CHAN_IFACE_CHAT_STATE_QUARK); + + g_signal_connect (priv->tp_chan, "destroy", + G_CALLBACK (tp_chat_destroy_cb), + chat); + dbus_g_proxy_connect_signal (DBUS_G_PROXY (priv->tp_chan), "Closed", + G_CALLBACK (tp_chat_closed_cb), + chat, NULL); + dbus_g_proxy_connect_signal (priv->text_iface, "Received", + G_CALLBACK (tp_chat_received_cb), + chat, NULL); + dbus_g_proxy_connect_signal (priv->text_iface, "Sent", + G_CALLBACK (tp_chat_sent_cb), + chat, NULL); + + if (priv->chat_state_iface != NULL) { + dbus_g_proxy_connect_signal (priv->chat_state_iface, + "ChatStateChanged", + G_CALLBACK (tp_chat_state_changed_cb), + chat, NULL); + } + + return chat; +} + +static void +tp_chat_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec) +{ + EmpathyTpChatPriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_ACCOUNT: + g_value_set_object (value, priv->account); + break; + case PROP_TP_CHAN: + g_value_set_object (value, priv->tp_chan); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +static void +tp_chat_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec) +{ + EmpathyTpChatPriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_ACCOUNT: + priv->account = g_object_ref (g_value_get_object (value)); + break; + case PROP_TP_CHAN: + priv->tp_chan = g_object_ref (g_value_get_object (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +EmpathyTpChat * +empathy_tp_chat_new (McAccount *account, + TpChan *tp_chan) +{ + return g_object_new (EMPATHY_TYPE_TP_CHAT, + "account", account, + "tp-chan", tp_chan, + NULL); +} + +EmpathyTpChat * +empathy_tp_chat_new_with_contact (GossipContact *contact) +{ + EmpathyTpChat *chat; + MissionControl *mc; + McAccount *account; + TpConn *tp_conn; + TpChan *text_chan; + const gchar *bus_name; + guint handle; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), NULL); + + mc = gossip_mission_control_new (); + account = gossip_contact_get_account (contact); + + if (mission_control_get_connection_status (mc, account, NULL) != 0) { + /* The account is not connected, nothing to do. */ + return NULL; + } + + tp_conn = mission_control_get_connection (mc, account, NULL); + g_return_val_if_fail (tp_conn != NULL, NULL); + bus_name = dbus_g_proxy_get_bus_name (DBUS_G_PROXY (tp_conn)); + handle = gossip_contact_get_handle (contact); + + text_chan = tp_conn_new_channel (tp_get_bus (), + tp_conn, + bus_name, + TP_IFACE_CHANNEL_TYPE_TEXT, + TP_HANDLE_TYPE_CONTACT, + handle, + TRUE); + + chat = empathy_tp_chat_new (account, text_chan); + + g_object_unref (tp_conn); + g_object_unref (text_chan); + g_object_unref (mc); + + return chat; +} + +void +empathy_tp_chat_request_pending (EmpathyTpChat *chat) +{ + EmpathyTpChatPriv *priv; + GPtrArray *messages_list; + guint i; + GError *error = NULL; + + g_return_if_fail (EMPATHY_IS_TP_CHAT (chat)); + + priv = GET_PRIV (chat); + + /* If we do this call async, don't forget to ignore Received signal + * until we get the answer */ + if (!tp_chan_type_text_list_pending_messages (priv->text_iface, + TRUE, + &messages_list, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Error retrieving pending messages: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + return; + } + + for (i = 0; i < messages_list->len; i++) { + GValueArray *message_struct; + const gchar *message_body; + guint message_id; + guint timestamp; + guint from_handle; + guint message_type; + guint message_flags; + + message_struct = g_ptr_array_index (messages_list, i); + + message_id = g_value_get_uint (g_value_array_get_nth (message_struct, 0)); + timestamp = g_value_get_uint (g_value_array_get_nth (message_struct, 1)); + from_handle = g_value_get_uint (g_value_array_get_nth (message_struct, 2)); + message_type = g_value_get_uint (g_value_array_get_nth (message_struct, 3)); + message_flags = g_value_get_uint (g_value_array_get_nth (message_struct, 4)); + message_body = g_value_get_string (g_value_array_get_nth (message_struct, 5)); + + gossip_debug (DEBUG_DOMAIN, "Message pending: %s", message_body); + + tp_chat_emit_message (chat, + message_type, + timestamp, + from_handle, + message_body); + + g_value_array_free (message_struct); + } + + g_ptr_array_free (messages_list, TRUE); +} + +void +empathy_tp_chat_send (EmpathyTpChat *chat, + GossipMessage *message) +{ + EmpathyTpChatPriv *priv; + const gchar *message_body; + GossipMessageType message_type; + GError *error = NULL; + + g_return_if_fail (EMPATHY_IS_TP_CHAT (chat)); + g_return_if_fail (GOSSIP_IS_MESSAGE (message)); + + priv = GET_PRIV (chat); + + message_body = gossip_message_get_body (message); + message_type = gossip_message_get_type (message); + + gossip_debug (DEBUG_DOMAIN, "Sending message: %s", message_body); + if (!tp_chan_type_text_send (priv->text_iface, + message_type, + message_body, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Send Error: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + } +} + +void +empathy_tp_chat_set_state (EmpathyTpChat *chat, + TelepathyChannelChatState state) +{ + EmpathyTpChatPriv *priv; + GError *error = NULL; + + g_return_if_fail (EMPATHY_IS_TP_CHAT (chat)); + + priv = GET_PRIV (chat); + + if (priv->chat_state_iface) { + gossip_debug (DEBUG_DOMAIN, "Set state: %d", state); + if (!tp_chan_iface_chat_state_set_chat_state (priv->chat_state_iface, + state, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Set Chat State Error: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + } + } +} + +const gchar * +empathy_tp_chat_get_id (EmpathyTpChat *chat) +{ + EmpathyTpChatPriv *priv; + + g_return_val_if_fail (EMPATHY_IS_TP_CHAT (chat), NULL); + + priv = GET_PRIV (chat); + + if (priv->id) { + return priv->id; + } + + priv->id = gossip_get_channel_id (priv->account, priv->tp_chan); + + return priv->id; +} + +static void +tp_chat_destroy_cb (TpChan *text_chan, + EmpathyTpChat *chat) +{ + EmpathyTpChatPriv *priv; + + priv = GET_PRIV (chat); + + gossip_debug (DEBUG_DOMAIN, "Channel Closed or CM crashed"); + + g_object_unref (priv->tp_chan); + priv->tp_chan = NULL; + priv->text_iface = NULL; + priv->chat_state_iface = NULL; + + g_signal_emit (chat, signals[DESTROY], 0); +} + +static void +tp_chat_closed_cb (TpChan *text_chan, + EmpathyTpChat *chat) +{ + EmpathyTpChatPriv *priv; + + priv = GET_PRIV (chat); + + /* The channel is closed, do just like if the proxy was destroyed */ + g_signal_handlers_disconnect_by_func (priv->tp_chan, + tp_chat_destroy_cb, + chat); + tp_chat_destroy_cb (text_chan, chat); + +} + +static void +tp_chat_received_cb (DBusGProxy *text_iface, + guint message_id, + guint timestamp, + guint from_handle, + guint message_type, + guint message_flags, + gchar *message_body, + EmpathyTpChat *chat) +{ + EmpathyTpChatPriv *priv; + GArray *message_ids; + + priv = GET_PRIV (chat); + + gossip_debug (DEBUG_DOMAIN, "Message received: %s", message_body); + + tp_chat_emit_message (chat, + message_type, + timestamp, + from_handle, + message_body); + + message_ids = g_array_new (FALSE, FALSE, sizeof (guint)); + g_array_append_val (message_ids, message_id); + tp_chan_type_text_acknowledge_pending_messages (priv->text_iface, + message_ids, NULL); + g_array_free (message_ids, TRUE); +} + +static void +tp_chat_sent_cb (DBusGProxy *text_iface, + guint timestamp, + guint message_type, + gchar *message_body, + EmpathyTpChat *chat) +{ + gossip_debug (DEBUG_DOMAIN, "Message sent: %s", message_body); + + tp_chat_emit_message (chat, + message_type, + timestamp, + 0, + message_body); +} + +static void +tp_chat_state_changed_cb (DBusGProxy *chat_state_iface, + guint handle, + TelepathyChannelChatState state, + EmpathyTpChat *chat) +{ + EmpathyTpChatPriv *priv; + GossipContact *contact; + + priv = GET_PRIV (chat); + + contact = empathy_tp_contact_list_get_from_handle (priv->list, handle); + + gossip_debug (DEBUG_DOMAIN, "Chat state changed for %s (%d): %d", + gossip_contact_get_name (contact), + handle, + state); + + g_signal_emit (chat, signals[CHAT_STATE_CHANGED], 0, contact, state); + + g_object_unref (contact); +} + +static void +tp_chat_emit_message (EmpathyTpChat *chat, + guint type, + guint timestamp, + guint from_handle, + const gchar *message_body) +{ + EmpathyTpChatPriv *priv; + GossipMessage *message; + GossipContact *sender; + + priv = GET_PRIV (chat); + + if (from_handle == 0) { + sender = empathy_tp_contact_list_get_user (priv->list); + g_object_ref (sender); + } else { + sender = empathy_tp_contact_list_get_from_handle (priv->list, + from_handle); + } + + message = gossip_message_new (message_body); + gossip_message_set_type (message, type); + gossip_message_set_sender (message, sender); + gossip_message_set_timestamp (message, (GossipTime) timestamp); + + g_signal_emit (chat, signals[MESSAGE_RECEIVED], 0, message); + + g_object_unref (message); + g_object_unref (sender); +} + diff --git a/trunk/libempathy/empathy-tp-chat.h b/trunk/libempathy/empathy-tp-chat.h new file mode 100644 index 000000000..55bbfcd3d --- /dev/null +++ b/trunk/libempathy/empathy-tp-chat.h @@ -0,0 +1,71 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __EMPATHY_TP_CHAT_H__ +#define __EMPATHY_TP_CHAT_H__ + +#include <glib.h> + +#include <libtelepathy/tp-chan.h> +#include <libtelepathy/tp-constants.h> + +#include <libmissioncontrol/mc-account.h> + +#include "gossip-message.h" +#include "gossip-contact.h" + + +G_BEGIN_DECLS + +#define EMPATHY_TYPE_TP_CHAT (empathy_tp_chat_get_type ()) +#define EMPATHY_TP_CHAT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_TP_CHAT, EmpathyTpChat)) +#define EMPATHY_TP_CHAT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EMPATHY_TYPE_TP_CHAT, EmpathyTpChatClass)) +#define EMPATHY_IS_TP_CHAT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_TP_CHAT)) +#define EMPATHY_IS_TP_CHAT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_TP_CHAT)) +#define EMPATHY_TP_CHAT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_TP_CHAT, EmpathyTpChatClass)) + +typedef struct _EmpathyTpChat EmpathyTpChat; +typedef struct _EmpathyTpChatClass EmpathyTpChatClass; +typedef struct _EmpathyTpChatPriv EmpathyTpChatPriv; + +struct _EmpathyTpChat { + GObject parent; +}; + +struct _EmpathyTpChatClass { + GObjectClass parent_class; +}; + +GType empathy_tp_chat_get_type (void) G_GNUC_CONST; +EmpathyTpChat *empathy_tp_chat_new (McAccount *account, + TpChan *tp_chan); +EmpathyTpChat *empathy_tp_chat_new_with_contact (GossipContact *contact); +void empathy_tp_chat_request_pending (EmpathyTpChat *chat); +void empathy_tp_chat_send (EmpathyTpChat *chat, + GossipMessage *message); +void empathy_tp_chat_set_state (EmpathyTpChat *chat, + TelepathyChannelChatState state); +const gchar * empathy_tp_chat_get_id (EmpathyTpChat *chat); + +G_END_DECLS + +#endif /* __EMPATHY_TP_CHAT_H__ */ diff --git a/trunk/libempathy/empathy-tp-chatroom.c b/trunk/libempathy/empathy-tp-chatroom.c new file mode 100644 index 000000000..eb47c9bb3 --- /dev/null +++ b/trunk/libempathy/empathy-tp-chatroom.c @@ -0,0 +1,358 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <libmissioncontrol/mission-control.h> + +#include "empathy-tp-chatroom.h" +#include "empathy-tp-contact-list.h" +#include "empathy-contact-list.h" +#include "empathy-contact-manager.h" +#include "gossip-telepathy-group.h" +#include "gossip-utils.h" +#include "gossip-debug.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \ + EMPATHY_TYPE_TP_CHATROOM, EmpathyTpChatroomPriv)) + +#define DEBUG_DOMAIN "TpChatroom" + +struct _EmpathyTpChatroomPriv { + EmpathyContactManager *manager; + EmpathyTpContactList *list; + GossipTelepathyGroup *group; + + gboolean is_invited; + GossipContact *invitor; + gchar *invit_message; +}; + +static void empathy_tp_chatroom_class_init (EmpathyTpChatroomClass *klass); +static void tp_chatroom_iface_init (EmpathyContactListIface *iface); +static void empathy_tp_chatroom_init (EmpathyTpChatroom *chatroom); +static void tp_chatroom_finalize (GObject *object); +static void tp_chatroom_members_added_cb (GossipTelepathyGroup *group, + GArray *handles, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpChatroom *list); +static void tp_chatroom_members_removed_cb (GossipTelepathyGroup *group, + GArray *handles, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpChatroom *list); +static void tp_chatroom_setup (EmpathyContactList *list); +static GossipContact * tp_chatroom_find (EmpathyContactList *list, + const gchar *id); +static void tp_chatroom_add (EmpathyContactList *list, + GossipContact *contact, + const gchar *message); +static void tp_chatroom_remove (EmpathyContactList *list, + GossipContact *contact, + const gchar *message); +static GList * tp_chatroom_get_contacts (EmpathyContactList *list); + +G_DEFINE_TYPE_WITH_CODE (EmpathyTpChatroom, empathy_tp_chatroom, EMPATHY_TYPE_TP_CHAT, + G_IMPLEMENT_INTERFACE (EMPATHY_TYPE_CONTACT_LIST, + tp_chatroom_iface_init)); + +static void +empathy_tp_chatroom_class_init (EmpathyTpChatroomClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = tp_chatroom_finalize; + + g_type_class_add_private (object_class, sizeof (EmpathyTpChatroomPriv)); +} + +static void +tp_chatroom_iface_init (EmpathyContactListIface *iface) +{ + iface->setup = tp_chatroom_setup; + iface->find = tp_chatroom_find; + iface->add = tp_chatroom_add; + iface->remove = tp_chatroom_remove; + iface->get_contacts = tp_chatroom_get_contacts; +} + +static void +empathy_tp_chatroom_init (EmpathyTpChatroom *chatroom) +{ +} + +static void +tp_chatroom_finalize (GObject *object) +{ + EmpathyTpChatroomPriv *priv; + EmpathyTpChatroom *chatroom; + + chatroom = EMPATHY_TP_CHATROOM (object); + priv = GET_PRIV (chatroom); + + g_object_unref (priv->group); + g_object_unref (priv->manager); + + if (priv->invitor) { + g_object_unref (priv->invitor); + } + + g_free (priv->invit_message); + + G_OBJECT_CLASS (empathy_tp_chatroom_parent_class)->finalize (object); +} + +EmpathyTpChatroom * +empathy_tp_chatroom_new (McAccount *account, + TpChan *tp_chan) +{ + EmpathyTpChatroomPriv *priv; + EmpathyTpChatroom *chatroom; + TpConn *tp_conn; + MissionControl *mc; + GList *members, *l; + guint self_handle; + + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + g_return_val_if_fail (TELEPATHY_IS_CHAN (tp_chan), NULL); + + chatroom = g_object_new (EMPATHY_TYPE_TP_CHATROOM, + "account", account, + "tp-chan", tp_chan, + NULL); + + priv = GET_PRIV (chatroom); + + mc = gossip_mission_control_new (); + tp_conn = mission_control_get_connection (mc, account, NULL); + priv->manager = empathy_contact_manager_new (); + priv->list = empathy_contact_manager_get_list (priv->manager, account); + priv->group = gossip_telepathy_group_new (tp_chan, tp_conn); + + g_signal_connect (priv->group, "members-added", + G_CALLBACK (tp_chatroom_members_added_cb), + chatroom); + g_signal_connect (priv->group, "members-removed", + G_CALLBACK (tp_chatroom_members_removed_cb), + chatroom); + + /* Check if we are invited to join the chat */ + self_handle = gossip_telepathy_group_get_self_handle (priv->group); + members = gossip_telepathy_group_get_local_pending_members_with_info (priv->group); + for (l = members; l; l = l->next) { + GossipTpGroupInfo *info; + + info = l->data; + + if (info->member != self_handle) { + continue; + } + + priv->invitor = empathy_tp_contact_list_get_from_handle (priv->list, + info->actor); + priv->invit_message = g_strdup (info->message); + priv->is_invited = TRUE; + + gossip_debug (DEBUG_DOMAIN, "We are invited to join by %s: %s", + gossip_contact_get_name (priv->invitor), + priv->invit_message); + } + + gossip_telepathy_group_info_list_free (members); + g_object_unref (mc); + g_object_unref (tp_conn); + + return chatroom; +} + +gboolean +empathy_tp_chatroom_get_invitation (EmpathyTpChatroom *chatroom, + GossipContact **contact, + const gchar **message) +{ + EmpathyTpChatroomPriv *priv; + + g_return_val_if_fail (EMPATHY_IS_TP_CHATROOM (chatroom), FALSE); + + priv = GET_PRIV (chatroom); + + if (*contact) { + *contact = priv->invitor; + } + if (*message) { + *message = priv->invit_message; + } + + return priv->is_invited; +} + +void +empathy_tp_chatroom_accept_invitation (EmpathyTpChatroom *chatroom) +{ + EmpathyTpChatroomPriv *priv; + guint self_handle; + + g_return_if_fail (EMPATHY_IS_TP_CHATROOM (chatroom)); + + priv = GET_PRIV (chatroom); + + /* Clear invitation data */ + priv->is_invited = FALSE; + if (priv->invitor) { + g_object_unref (priv->invitor); + priv->invitor = NULL; + } + g_free (priv->invit_message); + priv->invit_message = NULL; + + /* Add ourself in the members of the room */ + self_handle = gossip_telepathy_group_get_self_handle (priv->group); + gossip_telepathy_group_add_member (priv->group, self_handle, + "Just for fun"); +} + +void +empathy_tp_chatroom_set_topic (EmpathyTpChatroom *chatroom, + const gchar *topic) +{ +} + +static void +tp_chatroom_members_added_cb (GossipTelepathyGroup *group, + GArray *handles, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpChatroom *chatroom) +{ + EmpathyTpChatroomPriv *priv; + GList *contacts, *l; + + priv = GET_PRIV (chatroom); + + contacts = empathy_tp_contact_list_get_from_handles (priv->list, handles); + for (l = contacts; l; l = l->next) { + GossipContact *contact; + + contact = l->data; + + g_signal_emit_by_name (chatroom, "contact-added", contact); + + g_object_unref (contact); + } + g_list_free (contacts); +} + +static void +tp_chatroom_members_removed_cb (GossipTelepathyGroup *group, + GArray *handles, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpChatroom *chatroom) +{ + EmpathyTpChatroomPriv *priv; + GList *contacts, *l; + + priv = GET_PRIV (chatroom); + + contacts = empathy_tp_contact_list_get_from_handles (priv->list, handles); + for (l = contacts; l; l = l->next) { + GossipContact *contact; + + contact = l->data; + + g_signal_emit_by_name (chatroom, "contact-removed", contact); + + g_object_unref (contact); + } + g_list_free (contacts); +} + +static void +tp_chatroom_setup (EmpathyContactList *list) +{ + /* Nothing to do */ +} + +static GossipContact * +tp_chatroom_find (EmpathyContactList *list, + const gchar *id) +{ + return NULL; +} + +static void +tp_chatroom_add (EmpathyContactList *list, + GossipContact *contact, + const gchar *message) +{ + EmpathyTpChatroomPriv *priv; + + g_return_if_fail (EMPATHY_IS_TP_CHATROOM (list)); + g_return_if_fail (GOSSIP_IS_CONTACT (contact)); + + priv = GET_PRIV (list); + + gossip_telepathy_group_add_member (priv->group, + gossip_contact_get_handle (contact), + message); +} + +static void +tp_chatroom_remove (EmpathyContactList *list, + GossipContact *contact, + const gchar *message) +{ + EmpathyTpChatroomPriv *priv; + + g_return_if_fail (EMPATHY_IS_TP_CHATROOM (list)); + g_return_if_fail (GOSSIP_IS_CONTACT (contact)); + + priv = GET_PRIV (list); + + gossip_telepathy_group_remove_member (priv->group, + gossip_contact_get_handle (contact), + message); +} + +static GList * +tp_chatroom_get_contacts (EmpathyContactList *list) +{ + EmpathyTpChatroomPriv *priv; + GArray *members; + GList *contacts; + + g_return_val_if_fail (EMPATHY_IS_TP_CHATROOM (list), NULL); + + priv = GET_PRIV (list); + + members = gossip_telepathy_group_get_members (priv->group); + contacts = empathy_tp_contact_list_get_from_handles (priv->list, members); + g_array_free (members, TRUE); + + return contacts; +} + diff --git a/trunk/libempathy/empathy-tp-chatroom.h b/trunk/libempathy/empathy-tp-chatroom.h new file mode 100644 index 000000000..488ac74fb --- /dev/null +++ b/trunk/libempathy/empathy-tp-chatroom.h @@ -0,0 +1,66 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __EMPATHY_TP_CHATROOM_H__ +#define __EMPATHY_TP_CHATROOM_H__ + +#include <glib.h> + +#include <libtelepathy/tp-chan.h> + +#include <libmissioncontrol/mc-account.h> + +#include "empathy-tp-chat.h" + +G_BEGIN_DECLS + +#define EMPATHY_TYPE_TP_CHATROOM (empathy_tp_chatroom_get_type ()) +#define EMPATHY_TP_CHATROOM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_TP_CHATROOM, EmpathyTpChatroom)) +#define EMPATHY_TP_CHATROOM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EMPATHY_TYPE_TP_CHATROOM, EmpathyTpChatroomClass)) +#define EMPATHY_IS_TP_CHATROOM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_TP_CHATROOM)) +#define EMPATHY_IS_TP_CHATROOM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_TP_CHATROOM)) +#define EMPATHY_TP_CHATROOM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_TP_CHATROOM, EmpathyTpChatroomClass)) + +typedef struct _EmpathyTpChatroom EmpathyTpChatroom; +typedef struct _EmpathyTpChatroomClass EmpathyTpChatroomClass; +typedef struct _EmpathyTpChatroomPriv EmpathyTpChatroomPriv; + +struct _EmpathyTpChatroom { + EmpathyTpChat parent; +}; + +struct _EmpathyTpChatroomClass { + EmpathyTpChatClass parent_class; +}; + +GType empathy_tp_chatroom_get_type (void) G_GNUC_CONST; +EmpathyTpChatroom *empathy_tp_chatroom_new (McAccount *account, + TpChan *tp_chan); +gboolean empathy_tp_chatroom_get_invitation (EmpathyTpChatroom *chatroom, + GossipContact **contact, + const gchar **message); +void empathy_tp_chatroom_accept_invitation (EmpathyTpChatroom *chatroom); +void empathy_tp_chatroom_set_topic (EmpathyTpChatroom *chatroom, + const gchar *topic); +G_END_DECLS + +#endif /* __EMPATHY_TP_CHATROOM_H__ */ diff --git a/trunk/libempathy/empathy-tp-contact-list.c b/trunk/libempathy/empathy-tp-contact-list.c new file mode 100644 index 000000000..6af5ed064 --- /dev/null +++ b/trunk/libempathy/empathy-tp-contact-list.c @@ -0,0 +1,1849 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Xavier Claessens <xclaesse@gmail.com> + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <string.h> + +#include <libtelepathy/tp-helpers.h> +#include <libtelepathy/tp-conn.h> +#include <libtelepathy/tp-chan.h> +#include <libtelepathy/tp-chan-type-contact-list-gen.h> +#include <libtelepathy/tp-conn-iface-aliasing-gen.h> +#include <libtelepathy/tp-conn-iface-presence-gen.h> +#include <libtelepathy/tp-conn-iface-avatars-gen.h> + +#include "empathy-tp-contact-list.h" +#include "empathy-contact-list.h" +#include "gossip-telepathy-group.h" +#include "gossip-debug.h" +#include "gossip-utils.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \ + EMPATHY_TYPE_TP_CONTACT_LIST, EmpathyTpContactListPriv)) + +#define DEBUG_DOMAIN "TpContactList" +#define MAX_AVATAR_REQUESTS 10 + +struct _EmpathyTpContactListPriv { + TpConn *tp_conn; + McAccount *account; + MissionControl *mc; + GossipContact *user_contact; + gboolean setup; + + GossipTelepathyGroup *known; + GossipTelepathyGroup *publish; + GossipTelepathyGroup *subscribe; + + GHashTable *groups; + GHashTable *contacts; + + DBusGProxy *aliasing_iface; + DBusGProxy *avatars_iface; + DBusGProxy *presence_iface; + + GList *avatar_requests_queue; +}; + +typedef enum { + TP_CONTACT_LIST_TYPE_KNOWN, + TP_CONTACT_LIST_TYPE_PUBLISH, + TP_CONTACT_LIST_TYPE_SUBSCRIBE, + TP_CONTACT_LIST_TYPE_UNKNOWN, + TP_CONTACT_LIST_TYPE_COUNT +} TpContactListType; + +typedef struct { + guint handle; + GList *new_groups; +} TpContactListData; + +typedef struct { + EmpathyTpContactList *list; + guint handle; +} TpContactListAvatarRequestData; + +typedef struct { + EmpathyTpContactList *list; + guint *handles; +} TpContactListAliasesRequestData; + +static void empathy_tp_contact_list_class_init (EmpathyTpContactListClass *klass); +static void tp_contact_list_iface_init (EmpathyContactListIface *iface); +static void empathy_tp_contact_list_init (EmpathyTpContactList *list); +static void tp_contact_list_finalize (GObject *object); +static void tp_contact_list_finalize_proxies (EmpathyTpContactList *list); +static void tp_contact_list_setup (EmpathyContactList *list); +static GossipContact * tp_contact_list_find (EmpathyContactList *list, + const gchar *id); +static void tp_contact_list_add (EmpathyContactList *list, + GossipContact *contact, + const gchar *message); +static void tp_contact_list_remove (EmpathyContactList *list, + GossipContact *contact, + const gchar *message); +static GList * tp_contact_list_get_contacts (EmpathyContactList *list); +static void tp_contact_list_contact_removed_foreach (guint handle, + GossipContact *contact, + EmpathyTpContactList *list); +static void tp_contact_list_destroy_cb (DBusGProxy *proxy, + EmpathyTpContactList *list); +static gboolean tp_contact_list_find_foreach (guint handle, + GossipContact *contact, + gchar *id); +static void tp_contact_list_newchannel_cb (DBusGProxy *proxy, + const gchar *object_path, + const gchar *channel_type, + TelepathyHandleType handle_type, + guint channel_handle, + gboolean suppress_handle, + EmpathyTpContactList *list); +static TpContactListType tp_contact_list_get_type (EmpathyTpContactList *list, + TpChan *list_chan); +static void tp_contact_list_contact_added_cb (GossipTelepathyGroup *group, + GArray *handles, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpContactList *list); +static void tp_contact_list_contact_removed_cb (GossipTelepathyGroup *group, + GArray *handles, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpContactList *list); +static void tp_contact_list_local_pending_cb (GossipTelepathyGroup *group, + GArray *handles, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpContactList *list); +static void tp_contact_list_groups_updated_cb (GossipContact *contact, + GParamSpec *param, + EmpathyTpContactList *list); +static void tp_contact_list_subscription_updated_cb (GossipContact *contact, + GParamSpec *param, + EmpathyTpContactList *list); +static void tp_contact_list_name_updated_cb (GossipContact *contact, + GParamSpec *param, + EmpathyTpContactList *list); +static void tp_contact_list_update_groups_foreach (gchar *object_path, + GossipTelepathyGroup *group, + TpContactListData *data); +static GossipTelepathyGroup * tp_contact_list_get_group (EmpathyTpContactList *list, + const gchar *name); +static gboolean tp_contact_list_find_group (gchar *key, + GossipTelepathyGroup *group, + gchar *group_name); +static void tp_contact_list_get_groups_foreach (gchar *key, + GossipTelepathyGroup *group, + GList **groups); +static void tp_contact_list_group_channel_closed_cb (TpChan *channel, + EmpathyTpContactList *list); +static void tp_contact_list_group_members_added_cb (GossipTelepathyGroup *group, + GArray *members, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpContactList *list); +static void tp_contact_list_group_members_removed_cb (GossipTelepathyGroup *group, + GArray *members, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpContactList *list); +static void tp_contact_list_get_contacts_foreach (guint handle, + GossipContact *contact, + GList **contacts); +static void tp_contact_list_get_info (EmpathyTpContactList *list, + GArray *handles); +static void tp_contact_list_request_avatar (EmpathyTpContactList *list, + guint handle); +static void tp_contact_list_start_avatar_requests (EmpathyTpContactList *list); +static void tp_contact_list_avatar_update_cb (DBusGProxy *proxy, + guint handle, + gchar *new_token, + EmpathyTpContactList *list); +static void tp_contact_list_request_avatar_cb (DBusGProxy *proxy, + GArray *avatar_data, + gchar *mime_type, + GError *error, + TpContactListAvatarRequestData *data); +static void tp_contact_list_aliases_update_cb (DBusGProxy *proxy, + GPtrArray *handlers, + EmpathyTpContactList *list); +static void tp_contact_list_request_aliases_cb (DBusGProxy *proxy, + gchar **contact_names, + GError *error, + TpContactListAliasesRequestData *data); +static void tp_contact_list_presence_update_cb (DBusGProxy *proxy, + GHashTable *handle_table, + EmpathyTpContactList *list); +static void tp_contact_list_parse_presence_foreach (guint handle, + GValueArray *presence_struct, + EmpathyTpContactList *list); +static void tp_contact_list_presences_table_foreach (const gchar *state_str, + GHashTable *presences_table, + GossipPresence **presence); +static void tp_contact_list_status_changed_cb (MissionControl *mc, + TelepathyConnectionStatus status, + McPresence presence, + TelepathyConnectionStatusReason reason, + const gchar *unique_name, + EmpathyTpContactList *list); + +enum { + DESTROY, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL]; +static guint n_avatar_requests = 0; + +G_DEFINE_TYPE_WITH_CODE (EmpathyTpContactList, empathy_tp_contact_list, G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE (EMPATHY_TYPE_CONTACT_LIST, + tp_contact_list_iface_init)); + +static void +empathy_tp_contact_list_class_init (EmpathyTpContactListClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = tp_contact_list_finalize; + + signals[DESTROY] = + g_signal_new ("destroy", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); + + g_type_class_add_private (object_class, sizeof (EmpathyTpContactListPriv)); +} + +static void +tp_contact_list_iface_init (EmpathyContactListIface *iface) +{ + iface->setup = tp_contact_list_setup; + iface->find = tp_contact_list_find; + iface->add = tp_contact_list_add; + iface->remove = tp_contact_list_remove; + iface->get_contacts = tp_contact_list_get_contacts; +} + +static void +empathy_tp_contact_list_init (EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + + priv = GET_PRIV (list); + + priv->groups = g_hash_table_new_full (g_str_hash, + g_str_equal, + (GDestroyNotify) g_free, + (GDestroyNotify) g_object_unref); + priv->contacts = g_hash_table_new_full (g_direct_hash, + g_direct_equal, + NULL, + (GDestroyNotify) g_object_unref); +} + +static void +tp_contact_list_finalize (GObject *object) +{ + EmpathyTpContactListPriv *priv; + EmpathyTpContactList *list; + + list = EMPATHY_TP_CONTACT_LIST (object); + priv = GET_PRIV (list); + + gossip_debug (DEBUG_DOMAIN, "finalize: %p", object); + + dbus_g_proxy_disconnect_signal (DBUS_G_PROXY (priv->mc), + "AccountStatusChanged", + G_CALLBACK (tp_contact_list_status_changed_cb), + list); + + tp_contact_list_finalize_proxies (list); + + if (priv->tp_conn) { + g_object_unref (priv->tp_conn); + } + + if (priv->known) { + g_object_unref (priv->known); + } + + if (priv->subscribe) { + g_object_unref (priv->subscribe); + } + + if (priv->publish) { + g_object_unref (priv->publish); + } + + g_object_unref (priv->account); + g_object_unref (priv->user_contact); + g_object_unref (priv->mc); + g_hash_table_destroy (priv->groups); + g_hash_table_destroy (priv->contacts); + + G_OBJECT_CLASS (empathy_tp_contact_list_parent_class)->finalize (object); +} + +EmpathyTpContactList * +empathy_tp_contact_list_new (McAccount *account) +{ + EmpathyTpContactListPriv *priv; + EmpathyTpContactList *list; + MissionControl *mc; + guint handle; + GError *error = NULL; + + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + + mc = gossip_mission_control_new (); + + if (mission_control_get_connection_status (mc, account, NULL) != 0) { + /* The account is not connected, nothing to do. */ + return NULL; + } + + list = g_object_new (EMPATHY_TYPE_TP_CONTACT_LIST, NULL); + priv = GET_PRIV (list); + + priv->tp_conn = mission_control_get_connection (mc, account, NULL); + priv->account = g_object_ref (account); + priv->mc = mc; + + g_signal_connect (priv->tp_conn, "destroy", + G_CALLBACK (tp_contact_list_destroy_cb), + list); + dbus_g_proxy_connect_signal (DBUS_G_PROXY (priv->mc), + "AccountStatusChanged", + G_CALLBACK (tp_contact_list_status_changed_cb), + list, NULL); + + priv->aliasing_iface = tp_conn_get_interface (priv->tp_conn, + TELEPATHY_CONN_IFACE_ALIASING_QUARK); + priv->avatars_iface = tp_conn_get_interface (priv->tp_conn, + TELEPATHY_CONN_IFACE_AVATARS_QUARK); + priv->presence_iface = tp_conn_get_interface (priv->tp_conn, + TELEPATHY_CONN_IFACE_PRESENCE_QUARK); + + if (priv->aliasing_iface) { + dbus_g_proxy_connect_signal (priv->aliasing_iface, + "AliasesChanged", + G_CALLBACK (tp_contact_list_aliases_update_cb), + list, NULL); + } + + if (priv->avatars_iface) { + dbus_g_proxy_connect_signal (priv->avatars_iface, + "AvatarUpdated", + G_CALLBACK (tp_contact_list_avatar_update_cb), + list, NULL); + } + + if (priv->presence_iface) { + dbus_g_proxy_connect_signal (priv->presence_iface, + "PresenceUpdate", + G_CALLBACK (tp_contact_list_presence_update_cb), + list, NULL); + } + + /* Get our own handle and contact */ + if (!tp_conn_get_self_handle (DBUS_G_PROXY (priv->tp_conn), + &handle, &error)) { + gossip_debug (DEBUG_DOMAIN, "GetSelfHandle Error: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + } else { + priv->user_contact = empathy_tp_contact_list_get_from_handle (list, handle); + } + + return list; +} + +static void +tp_contact_list_setup (EmpathyContactList *list) +{ + EmpathyTpContactListPriv *priv; + GPtrArray *channels; + GError *error = NULL; + guint i; + + g_return_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list)); + + priv = GET_PRIV (list); + + gossip_debug (DEBUG_DOMAIN, "setup contact list: %p", list); + + priv->setup = TRUE; + dbus_g_proxy_connect_signal (DBUS_G_PROXY (priv->tp_conn), "NewChannel", + G_CALLBACK (tp_contact_list_newchannel_cb), + list, NULL); + + /* Get existing channels */ + if (!tp_conn_list_channels (DBUS_G_PROXY (priv->tp_conn), + &channels, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Failed to get list of open channels: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + return; + } + + for (i = 0; channels->len > i; i++) { + GValueArray *chan_struct; + const gchar *object_path; + const gchar *chan_iface; + TelepathyHandleType handle_type; + guint handle; + + chan_struct = g_ptr_array_index (channels, i); + object_path = g_value_get_boxed (g_value_array_get_nth (chan_struct, 0)); + chan_iface = g_value_get_string (g_value_array_get_nth (chan_struct, 1)); + handle_type = g_value_get_uint (g_value_array_get_nth (chan_struct, 2)); + handle = g_value_get_uint (g_value_array_get_nth (chan_struct, 3)); + + tp_contact_list_newchannel_cb (DBUS_G_PROXY (priv->tp_conn), + object_path, chan_iface, + handle_type, handle, + FALSE, + EMPATHY_TP_CONTACT_LIST (list)); + + g_value_array_free (chan_struct); + } + + g_ptr_array_free (channels, TRUE); +} + +static GossipContact * +tp_contact_list_find (EmpathyContactList *list, + const gchar *id) +{ + EmpathyTpContactListPriv *priv; + + g_return_val_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list), NULL); + + priv = GET_PRIV (list); + + return g_hash_table_find (priv->contacts, + (GHRFunc) tp_contact_list_find_foreach, + (gchar*) id); +} + +static void +tp_contact_list_add (EmpathyContactList *list, + GossipContact *contact, + const gchar *message) +{ + EmpathyTpContactListPriv *priv; + guint handle; + + g_return_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list)); + + priv = GET_PRIV (list); + + handle = gossip_contact_get_handle (contact); + gossip_telepathy_group_add_member (priv->subscribe, handle, message); +} + +static void +tp_contact_list_remove (EmpathyContactList *list, + GossipContact *contact, + const gchar *message) +{ + EmpathyTpContactListPriv *priv; + guint handle; + + g_return_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list)); + + priv = GET_PRIV (list); + + handle = gossip_contact_get_handle (contact); + gossip_telepathy_group_remove_member (priv->subscribe, handle, message); + gossip_telepathy_group_remove_member (priv->publish, handle, message); + gossip_telepathy_group_remove_member (priv->known, handle, message); +} + +static GList * +tp_contact_list_get_contacts (EmpathyContactList *list) +{ + EmpathyTpContactListPriv *priv; + GList *contacts = NULL; + + g_return_val_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list), NULL); + + priv = GET_PRIV (list); + + /* FIXME: we should only return contacts that are in the contact list */ + g_hash_table_foreach (priv->contacts, + (GHFunc) tp_contact_list_get_contacts_foreach, + &contacts); + + return contacts; +} + +McAccount * +empathy_tp_contact_list_get_account (EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + + g_return_val_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list), NULL); + + priv = GET_PRIV (list); + + return priv->account; +} + +GossipContact * +empathy_tp_contact_list_get_user (EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + + g_return_val_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list), NULL); + + priv = GET_PRIV (list); + + return priv->user_contact; +} + +GossipContact * +empathy_tp_contact_list_get_from_id (EmpathyTpContactList *list, + const gchar *id) +{ + EmpathyTpContactListPriv *priv; + GossipContact *contact; + const gchar *contact_ids[] = {id, NULL}; + GArray *handles; + guint handle; + GError *error = NULL; + + g_return_val_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list), NULL); + g_return_val_if_fail (id != NULL, NULL); + + priv = GET_PRIV (list); + + contact = tp_contact_list_find (EMPATHY_CONTACT_LIST (list), id); + if (contact) { + return contact; + } + + /* The id is unknown, requests a new handle */ + if (!tp_conn_request_handles (DBUS_G_PROXY (priv->tp_conn), + TP_HANDLE_TYPE_CONTACT, + contact_ids, + &handles, &error)) { + gossip_debug (DEBUG_DOMAIN, + "RequestHandle for %s failed: %s", id, + error ? error->message : "No error given"); + g_clear_error (&error); + return 0; + } + + handle = g_array_index(handles, guint, 0); + g_array_free (handles, TRUE); + + return empathy_tp_contact_list_get_from_handle (list, handle); +} + +GossipContact * +empathy_tp_contact_list_get_from_handle (EmpathyTpContactList *list, + guint handle) +{ + GossipContact *contact; + GArray *handles; + GList *contacts; + + g_return_val_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list), NULL); + + handles = g_array_new (FALSE, FALSE, sizeof (guint)); + g_array_append_val (handles, handle); + + contacts = empathy_tp_contact_list_get_from_handles (list, handles); + g_array_free (handles, TRUE); + + if (!contacts) { + return NULL; + } + + contact = contacts->data; + g_list_free (contacts); + + return contact; +} + +GList * +empathy_tp_contact_list_get_from_handles (EmpathyTpContactList *list, + GArray *handles) +{ + EmpathyTpContactListPriv *priv; + gchar **handles_names; + gchar **id; + GArray *new_handles; + GList *contacts = NULL; + guint i; + GError *error = NULL; + + g_return_val_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list), NULL); + g_return_val_if_fail (handles != NULL, NULL); + + priv = GET_PRIV (list); + + /* Search all handles we already have */ + new_handles = g_array_new (FALSE, FALSE, sizeof (guint)); + for (i = 0; i < handles->len; i++) { + GossipContact *contact; + guint handle; + + handle = g_array_index (handles, guint, i); + + if (handle == 0) { + continue; + } + + contact = g_hash_table_lookup (priv->contacts, + GUINT_TO_POINTER (handle)); + + if (contact) { + contacts = g_list_prepend (contacts, + g_object_ref (contact)); + } else { + g_array_append_val (new_handles, handle); + } + } + + if (new_handles->len == 0) { + g_array_free (new_handles, TRUE); + return contacts; + } + + /* Holds all handles we don't have yet. + * FIXME: We should release them at some point. */ + if (!tp_conn_hold_handles (DBUS_G_PROXY (priv->tp_conn), + TP_HANDLE_TYPE_CONTACT, + new_handles, &error)) { + gossip_debug (DEBUG_DOMAIN, + "HoldHandles Error: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + g_array_free (new_handles, TRUE); + return contacts; + } + + /* Get the IDs of all new handles */ + if (!tp_conn_inspect_handles (DBUS_G_PROXY (priv->tp_conn), + TP_HANDLE_TYPE_CONTACT, + new_handles, + &handles_names, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "InspectHandle Error: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + g_array_free (new_handles, TRUE); + return contacts; + } + + /* Create contact objects */ + for (i = 0, id = handles_names; *id && i < new_handles->len; id++, i++) { + GossipContact *contact; + guint handle; + + handle = g_array_index (new_handles, guint, i); + contact = g_object_new (GOSSIP_TYPE_CONTACT, + "account", priv->account, + "id", *id, + "handle", handle, + NULL); + + g_signal_connect (contact, "notify::groups", + G_CALLBACK (tp_contact_list_groups_updated_cb), + list); + g_signal_connect (contact, "notify::subscription", + G_CALLBACK (tp_contact_list_subscription_updated_cb), + list); + g_signal_connect (contact, "notify::name", + G_CALLBACK (tp_contact_list_name_updated_cb), + list); + + gossip_debug (DEBUG_DOMAIN, "new contact created: %s (%d)", + *id, handle); + + g_hash_table_insert (priv->contacts, + GUINT_TO_POINTER (handle), + contact); + + contacts = g_list_prepend (contacts, g_object_ref (contact)); + } + + tp_contact_list_get_info (list, new_handles); + + g_array_free (new_handles, TRUE); + g_strfreev (handles_names); + + return contacts; +} + +void +empathy_tp_contact_list_rename_group (EmpathyTpContactList *list, + const gchar *old_group, + const gchar *new_group) +{ + EmpathyTpContactListPriv *priv; + GossipTelepathyGroup *group; + GArray *members; + + g_return_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list)); + g_return_if_fail (old_group != NULL); + g_return_if_fail (new_group != NULL); + + priv = GET_PRIV (list); + + group = g_hash_table_find (priv->groups, + (GHRFunc) tp_contact_list_find_group, + (gchar*) old_group); + if (!group) { + /* The group doesn't exists on this account */ + return; + } + + gossip_debug (DEBUG_DOMAIN, "rename group %s to %s", group, new_group); + + /* Remove all members from the old group */ + members = gossip_telepathy_group_get_members (group); + gossip_telepathy_group_remove_members (group, members, ""); + tp_contact_list_group_members_removed_cb (group, members, + 0, + TP_CHANNEL_GROUP_CHANGE_REASON_NONE, + NULL, list); + g_hash_table_remove (priv->groups, + gossip_telepathy_group_get_object_path (group)); + + /* Add all members to the new group */ + group = tp_contact_list_get_group (list, new_group); + if (group) { + gossip_telepathy_group_add_members (group, members, ""); + } +} + +GList * +empathy_tp_contact_list_get_groups (EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + GList *groups = NULL; + + g_return_val_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list), NULL); + + priv = GET_PRIV (list); + + g_hash_table_foreach (priv->groups, + (GHFunc) tp_contact_list_get_groups_foreach, + &groups); + + groups = g_list_sort (groups, (GCompareFunc) strcmp); + + return groups; +} + +static void +tp_contact_list_finalize_proxies (EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + + priv = GET_PRIV (list); + + if (priv->tp_conn) { + g_signal_handlers_disconnect_by_func (priv->tp_conn, + tp_contact_list_destroy_cb, + list); + dbus_g_proxy_disconnect_signal (DBUS_G_PROXY (priv->tp_conn), "NewChannel", + G_CALLBACK (tp_contact_list_newchannel_cb), + list); + } + + if (priv->aliasing_iface) { + dbus_g_proxy_disconnect_signal (priv->aliasing_iface, + "AliasesChanged", + G_CALLBACK (tp_contact_list_aliases_update_cb), + list); + } + + if (priv->avatars_iface) { + dbus_g_proxy_disconnect_signal (priv->avatars_iface, + "AvatarUpdated", + G_CALLBACK (tp_contact_list_avatar_update_cb), + list); + } + + if (priv->presence_iface) { + dbus_g_proxy_disconnect_signal (priv->presence_iface, + "PresenceUpdate", + G_CALLBACK (tp_contact_list_presence_update_cb), + list); + } +} + +static void +tp_contact_list_destroy_cb (DBusGProxy *proxy, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + + priv = GET_PRIV (list); + + gossip_debug (DEBUG_DOMAIN, "Connection destroyed... " + "Account disconnected or CM crashed"); + + /* DBus proxies should NOT be used anymore */ + g_object_unref (priv->tp_conn); + priv->tp_conn = NULL; + priv->aliasing_iface = NULL; + priv->avatars_iface = NULL; + priv->presence_iface = NULL; + + /* Remove all contacts */ + g_hash_table_foreach (priv->contacts, + (GHFunc) tp_contact_list_contact_removed_foreach, + list); + g_hash_table_remove_all (priv->contacts); + + /* Tell the world to not use us anymore */ + g_signal_emit (list, signals[DESTROY], 0); +} + +static void +tp_contact_list_contact_removed_foreach (guint handle, + GossipContact *contact, + EmpathyTpContactList *list) +{ + g_signal_handlers_disconnect_by_func (contact, + tp_contact_list_groups_updated_cb, + list); + g_signal_handlers_disconnect_by_func (contact, + tp_contact_list_subscription_updated_cb, + list); + g_signal_handlers_disconnect_by_func (contact, + tp_contact_list_name_updated_cb, + list); + + g_signal_emit_by_name (list, "contact-removed", contact); +} + +static void +tp_contact_list_block_contact (EmpathyTpContactList *list, + GossipContact *contact) +{ + g_signal_handlers_block_by_func (contact, + tp_contact_list_groups_updated_cb, + list); + g_signal_handlers_block_by_func (contact, + tp_contact_list_subscription_updated_cb, + list); + g_signal_handlers_block_by_func (contact, + tp_contact_list_name_updated_cb, + list); +} + +static void +tp_contact_list_unblock_contact (EmpathyTpContactList *list, + GossipContact *contact) +{ + g_signal_handlers_unblock_by_func (contact, + tp_contact_list_groups_updated_cb, + list); + g_signal_handlers_unblock_by_func (contact, + tp_contact_list_subscription_updated_cb, + list); + g_signal_handlers_unblock_by_func (contact, + tp_contact_list_name_updated_cb, + list); +} + +static gboolean +tp_contact_list_find_foreach (guint handle, + GossipContact *contact, + gchar *id) +{ + if (strcmp (gossip_contact_get_id (contact), id) == 0) { + return TRUE; + } + + return FALSE; +} + +static void +tp_contact_list_newchannel_cb (DBusGProxy *proxy, + const gchar *object_path, + const gchar *channel_type, + TelepathyHandleType handle_type, + guint channel_handle, + gboolean suppress_handle, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + GossipTelepathyGroup *group; + TpChan *new_chan; + const gchar *bus_name; + GArray *members; + + priv = GET_PRIV (list); + + if (strcmp (channel_type, TP_IFACE_CHANNEL_TYPE_CONTACT_LIST) != 0 || + suppress_handle || + !priv->setup) { + return; + } + + bus_name = dbus_g_proxy_get_bus_name (DBUS_G_PROXY (priv->tp_conn)); + new_chan = tp_chan_new (tp_get_bus (), + bus_name, + object_path, + channel_type, handle_type, channel_handle); + + if (handle_type == TP_HANDLE_TYPE_LIST) { + TpContactListType list_type; + + list_type = tp_contact_list_get_type (list, new_chan); + if (list_type == TP_CONTACT_LIST_TYPE_UNKNOWN) { + gossip_debug (DEBUG_DOMAIN, "Unknown contact list channel"); + g_object_unref (new_chan); + return; + } + + gossip_debug (DEBUG_DOMAIN, "New contact list channel of type: %d", + list_type); + + group = gossip_telepathy_group_new (new_chan, priv->tp_conn); + + switch (list_type) { + case TP_CONTACT_LIST_TYPE_KNOWN: + if (priv->known) { + g_object_unref (priv->known); + } + priv->known = group; + break; + case TP_CONTACT_LIST_TYPE_PUBLISH: + if (priv->publish) { + g_object_unref (priv->publish); + } + priv->publish = group; + break; + case TP_CONTACT_LIST_TYPE_SUBSCRIBE: + if (priv->subscribe) { + g_object_unref (priv->subscribe); + } + priv->subscribe = group; + break; + default: + g_assert_not_reached (); + } + + /* Connect and setup the new contact-list group */ + if (list_type == TP_CONTACT_LIST_TYPE_KNOWN || + list_type == TP_CONTACT_LIST_TYPE_SUBSCRIBE) { + g_signal_connect (group, "members-added", + G_CALLBACK (tp_contact_list_contact_added_cb), + list); + g_signal_connect (group, "members-removed", + G_CALLBACK (tp_contact_list_contact_removed_cb), + list); + + members = gossip_telepathy_group_get_members (group); + tp_contact_list_contact_added_cb (group, members, 0, + TP_CHANNEL_GROUP_CHANGE_REASON_NONE, + NULL, list); + g_array_free (members, TRUE); + } + if (list_type == TP_CONTACT_LIST_TYPE_PUBLISH) { + GList *members, *l; + GArray *pending; + + g_signal_connect (group, "local-pending", + G_CALLBACK (tp_contact_list_local_pending_cb), + list); + + members = gossip_telepathy_group_get_local_pending_members_with_info (group); + if (!members) { + g_object_unref (new_chan); + return; + } + + pending = g_array_sized_new (FALSE, FALSE, sizeof (guint), 1); + for (l = members; l; l = l->next) { + GossipTpGroupInfo *info; + + info = l->data; + + g_array_insert_val (pending, 0, info->member); + tp_contact_list_local_pending_cb (group, pending, + info->actor, + info->reason, + info->message, + list); + } + + gossip_telepathy_group_info_list_free (members); + g_array_free (pending, TRUE); + } + } + else if (handle_type == TP_HANDLE_TYPE_GROUP) { + const gchar *object_path; + + object_path = dbus_g_proxy_get_path (DBUS_G_PROXY (new_chan)); + if (g_hash_table_lookup (priv->groups, object_path)) { + g_object_unref (new_chan); + return; + } + + group = gossip_telepathy_group_new (new_chan, priv->tp_conn); + + gossip_debug (DEBUG_DOMAIN, "New server-side group channel: %s", + gossip_telepathy_group_get_name (group)); + + dbus_g_proxy_connect_signal (DBUS_G_PROXY (new_chan), "Closed", + G_CALLBACK + (tp_contact_list_group_channel_closed_cb), + list, NULL); + + g_hash_table_insert (priv->groups, g_strdup (object_path), group); + g_signal_connect (group, "members-added", + G_CALLBACK (tp_contact_list_group_members_added_cb), + list); + g_signal_connect (group, "members-removed", + G_CALLBACK (tp_contact_list_group_members_removed_cb), + list); + + members = gossip_telepathy_group_get_members (group); + tp_contact_list_group_members_added_cb (group, members, 0, + TP_CHANNEL_GROUP_CHANGE_REASON_NONE, + NULL, list); + g_array_free (members, TRUE); + } + + g_object_unref (new_chan); +} + +static TpContactListType +tp_contact_list_get_type (EmpathyTpContactList *list, + TpChan *list_chan) +{ + EmpathyTpContactListPriv *priv; + GArray *handles; + gchar **handle_name; + TpContactListType list_type; + GError *error = NULL; + + priv = GET_PRIV (list); + + handles = g_array_new (FALSE, FALSE, sizeof (guint)); + g_array_append_val (handles, list_chan->handle); + + if (!tp_conn_inspect_handles (DBUS_G_PROXY (priv->tp_conn), + TP_HANDLE_TYPE_LIST, + handles, + &handle_name, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "InspectHandle Error: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + g_array_free (handles, TRUE); + return TP_CONTACT_LIST_TYPE_UNKNOWN; + } + + if (strcmp (*handle_name, "subscribe") == 0) { + list_type = TP_CONTACT_LIST_TYPE_SUBSCRIBE; + } else if (strcmp (*handle_name, "publish") == 0) { + list_type = TP_CONTACT_LIST_TYPE_PUBLISH; + } else if (strcmp (*handle_name, "known") == 0) { + list_type = TP_CONTACT_LIST_TYPE_KNOWN; + } else { + list_type = TP_CONTACT_LIST_TYPE_UNKNOWN; + } + + g_strfreev (handle_name); + g_array_free (handles, TRUE); + + return list_type; +} + +static void +tp_contact_list_contact_added_cb (GossipTelepathyGroup *group, + GArray *handles, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + GList *added_list, *l; + + priv = GET_PRIV (list); + + added_list = empathy_tp_contact_list_get_from_handles (list, handles); + + for (l = added_list; l; l = l->next) { + GossipContact *contact; + + contact = GOSSIP_CONTACT (l->data); + tp_contact_list_block_contact (list, contact); + gossip_contact_set_subscription (contact, GOSSIP_SUBSCRIPTION_BOTH); + tp_contact_list_unblock_contact (list, contact); + + g_signal_emit_by_name (list, "contact-added", contact); + + g_object_unref (contact); + } + + g_list_free (added_list); +} + +static void +tp_contact_list_contact_removed_cb (GossipTelepathyGroup *group, + GArray *handles, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + GList *removed_list, *l; + + priv = GET_PRIV (list); + + removed_list = empathy_tp_contact_list_get_from_handles (list, handles); + + for (l = removed_list; l; l = l->next) { + GossipContact *contact; + guint handle; + + contact = GOSSIP_CONTACT (l->data); + + handle = gossip_contact_get_handle (contact); + g_hash_table_remove (priv->contacts, GUINT_TO_POINTER (handle)); + + g_signal_emit_by_name (list, "contact-removed", contact); + + g_object_unref (contact); + } + + g_list_free (removed_list); +} + +static void +tp_contact_list_local_pending_cb (GossipTelepathyGroup *group, + GArray *handles, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + GList *pending_list, *l; + + priv = GET_PRIV (list); + + pending_list = empathy_tp_contact_list_get_from_handles (list, handles); + + for (l = pending_list; l; l = l->next) { + GossipContact *contact; + + contact = GOSSIP_CONTACT (l->data); + + /* FIXME: Is that the correct way ? */ + tp_contact_list_block_contact (list, contact); + gossip_contact_set_subscription (contact, GOSSIP_SUBSCRIPTION_FROM); + tp_contact_list_unblock_contact (list, contact); + g_signal_emit_by_name (list, "contact-added", contact); + + g_object_unref (contact); + } + + g_list_free (pending_list); +} + +static void +tp_contact_list_groups_updated_cb (GossipContact *contact, + GParamSpec *param, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + TpContactListData data; + GList *groups, *l; + + priv = GET_PRIV (list); + + /* Make sure all groups are created */ + groups = gossip_contact_get_groups (contact); + for (l = groups; l; l = l->next) { + tp_contact_list_get_group (list, l->data); + } + + data.handle = gossip_contact_get_handle (contact); + data.new_groups = groups; + + g_hash_table_foreach (priv->groups, + (GHFunc) tp_contact_list_update_groups_foreach, + &data); +} + +static void +tp_contact_list_subscription_updated_cb (GossipContact *contact, + GParamSpec *param, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + GossipSubscription subscription; + guint handle; + + priv = GET_PRIV (list); + + subscription = gossip_contact_get_subscription (contact); + handle = gossip_contact_get_handle (contact); + + /* FIXME: what to do here, I'm a bit lost... */ + if (subscription) { + gossip_telepathy_group_add_member (priv->publish, handle, ""); + } else { + gossip_telepathy_group_remove_member (priv->publish, handle, ""); + } +} + +static void +tp_contact_list_name_updated_cb (GossipContact *contact, + GParamSpec *param, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + GHashTable *new_alias; + const gchar *new_name; + guint handle; + GError *error = NULL; + + priv = GET_PRIV (list); + + handle = gossip_contact_get_handle (contact); + new_name = gossip_contact_get_name (contact); + + gossip_debug (DEBUG_DOMAIN, "renaming handle %d to %s", + handle, new_name); + + new_alias = g_hash_table_new_full (g_direct_hash, + g_direct_equal, + NULL, + g_free); + + g_hash_table_insert (new_alias, + GUINT_TO_POINTER (handle), + g_strdup (new_name)); + + if (!tp_conn_iface_aliasing_set_aliases (priv->aliasing_iface, + new_alias, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Couldn't rename contact: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + } + + g_hash_table_destroy (new_alias); +} + +static void +tp_contact_list_update_groups_foreach (gchar *object_path, + GossipTelepathyGroup *group, + TpContactListData *data) +{ + gboolean is_member; + gboolean found = FALSE; + const gchar *group_name; + GList *l; + + is_member = gossip_telepathy_group_is_member (group, data->handle); + group_name = gossip_telepathy_group_get_name (group); + + for (l = data->new_groups; l; l = l->next) { + if (strcmp (group_name, l->data) == 0) { + found = TRUE; + break; + } + } + + if (is_member && !found) { + /* We are no longer member of this group */ + gossip_debug (DEBUG_DOMAIN, "Contact %d removed from group '%s'", + data->handle, group_name); + gossip_telepathy_group_remove_member (group, data->handle, ""); + } + + if (!is_member && found) { + /* We are now member of this group */ + gossip_debug (DEBUG_DOMAIN, "Contact %d added to group '%s'", + data->handle, group_name); + gossip_telepathy_group_add_member (group, data->handle, ""); + } +} + +static GossipTelepathyGroup * +tp_contact_list_get_group (EmpathyTpContactList *list, + const gchar *name) +{ + EmpathyTpContactListPriv *priv; + GossipTelepathyGroup *group; + TpChan *group_channel; + GArray *handles; + guint group_handle; + char *group_object_path; + const char *names[2] = {name, NULL}; + GError *error = NULL; + + priv = GET_PRIV (list); + + group = g_hash_table_find (priv->groups, + (GHRFunc) tp_contact_list_find_group, + (gchar*) name); + if (group) { + return group; + } + + gossip_debug (DEBUG_DOMAIN, "creating new group: %s", name); + + if (!tp_conn_request_handles (DBUS_G_PROXY (priv->tp_conn), + TP_HANDLE_TYPE_GROUP, + names, + &handles, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Couldn't request the creation of a new handle for group: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + return NULL; + } + group_handle = g_array_index (handles, guint, 0); + g_array_free (handles, TRUE); + + if (!tp_conn_request_channel (DBUS_G_PROXY (priv->tp_conn), + TP_IFACE_CHANNEL_TYPE_CONTACT_LIST, + TP_HANDLE_TYPE_GROUP, + group_handle, + FALSE, + &group_object_path, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Couldn't request the creation of a new group channel: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + return NULL; + } + + group_channel = tp_chan_new (tp_get_bus (), + dbus_g_proxy_get_bus_name (DBUS_G_PROXY (priv->tp_conn)), + group_object_path, + TP_IFACE_CHANNEL_TYPE_CONTACT_LIST, + TP_HANDLE_TYPE_GROUP, + group_handle); + + dbus_g_proxy_connect_signal (DBUS_G_PROXY (group_channel), + "Closed", + G_CALLBACK + (tp_contact_list_group_channel_closed_cb), + list, + NULL); + + group = gossip_telepathy_group_new (group_channel, priv->tp_conn); + g_hash_table_insert (priv->groups, group_object_path, group); + g_signal_connect (group, "members-added", + G_CALLBACK (tp_contact_list_group_members_added_cb), + list); + g_signal_connect (group, "members-removed", + G_CALLBACK (tp_contact_list_group_members_removed_cb), + list); + + return group; +} + +static gboolean +tp_contact_list_find_group (gchar *key, + GossipTelepathyGroup *group, + gchar *group_name) +{ + if (strcmp (group_name, gossip_telepathy_group_get_name (group)) == 0) { + return TRUE; + } + + return FALSE; +} + +static void +tp_contact_list_get_groups_foreach (gchar *key, + GossipTelepathyGroup *group, + GList **groups) +{ + const gchar *name; + + name = gossip_telepathy_group_get_name (group); + *groups = g_list_append (*groups, g_strdup (name)); +} + +static void +tp_contact_list_group_channel_closed_cb (TpChan *channel, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + + priv = GET_PRIV (list); + + g_hash_table_remove (priv->groups, + dbus_g_proxy_get_path (DBUS_G_PROXY (channel))); +} + +static void +tp_contact_list_group_members_added_cb (GossipTelepathyGroup *group, + GArray *members, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + GList *added_list, *l; + const gchar *group_name; + + priv = GET_PRIV (list); + + group_name = gossip_telepathy_group_get_name (group); + added_list = empathy_tp_contact_list_get_from_handles (list, members); + + for (l = added_list; l; l = l->next) { + GossipContact *contact; + GList *contact_groups; + + contact = GOSSIP_CONTACT (l->data); + contact_groups = gossip_contact_get_groups (contact); + + /* FIXME: this leaks */ + if (!g_list_find_custom (contact_groups, + group_name, + (GCompareFunc) strcmp)) { + gossip_debug (DEBUG_DOMAIN, "Contact %s added to group '%s'", + gossip_contact_get_name (contact), + group_name); + contact_groups = g_list_append (contact_groups, + g_strdup (group_name)); + tp_contact_list_block_contact (list, contact); + gossip_contact_set_groups (contact, contact_groups); + tp_contact_list_unblock_contact (list, contact); + } + + g_object_unref (contact); + } + + g_list_free (added_list); +} + +static void +tp_contact_list_group_members_removed_cb (GossipTelepathyGroup *group, + GArray *members, + guint actor_handle, + guint reason, + const gchar *message, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + GList *removed_list, *l; + const gchar *group_name; + + priv = GET_PRIV (list); + + group_name = gossip_telepathy_group_get_name (group); + removed_list = empathy_tp_contact_list_get_from_handles (list, members); + + for (l = removed_list; l; l = l->next) { + GossipContact *contact; + GList *contact_groups; + GList *to_remove; + + /* FIXME: Does it leak ? */ + contact = GOSSIP_CONTACT (l->data); + contact_groups = gossip_contact_get_groups (contact); + contact_groups = g_list_copy (contact_groups); + + to_remove = g_list_find_custom (contact_groups, + group_name, + (GCompareFunc) strcmp); + if (to_remove) { + gossip_debug (DEBUG_DOMAIN, "Contact %d removed from group '%s'", + gossip_contact_get_handle (contact), + group_name); + contact_groups = g_list_remove_link (contact_groups, + to_remove); + tp_contact_list_block_contact (list, contact); + gossip_contact_set_groups (contact, contact_groups); + tp_contact_list_unblock_contact (list, contact); + } + + g_list_free (contact_groups); + + g_object_unref (contact); + } + + g_list_free (removed_list); +} + +static void +tp_contact_list_get_contacts_foreach (guint handle, + GossipContact *contact, + GList **contacts) +{ + *contacts = g_list_append (*contacts, g_object_ref (contact)); +} + +static void +tp_contact_list_get_info (EmpathyTpContactList *list, + GArray *handles) +{ + EmpathyTpContactListPriv *priv; + GError *error = NULL; + + priv = GET_PRIV (list); + + if (priv->presence_iface) { + /* FIXME: We should use GetPresence instead */ + if (!tp_conn_iface_presence_request_presence (priv->presence_iface, + handles, &error)) { + gossip_debug (DEBUG_DOMAIN, + "Could not request presences: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + } + } + + if (priv->aliasing_iface) { + TpContactListAliasesRequestData *data; + + data = g_slice_new (TpContactListAliasesRequestData); + data->list = list; + data->handles = g_memdup (handles->data, handles->len * sizeof (guint)); + + tp_conn_iface_aliasing_request_aliases_async (priv->aliasing_iface, + handles, + (tp_conn_iface_aliasing_request_aliases_reply) + tp_contact_list_request_aliases_cb, + data); + } + + if (priv->avatars_iface) { + guint i; + + for (i = 0; i < handles->len; i++) { + guint handle; + + handle = g_array_index (handles, gint, i); + tp_contact_list_request_avatar (list, handle); + } + } +} + +static void +tp_contact_list_request_avatar (EmpathyTpContactList *list, + guint handle) +{ + EmpathyTpContactListPriv *priv; + + priv = GET_PRIV (list); + + /* We queue avatar requests to not send too many dbus async + * calls at once. If we don't we reach the dbus's limit of + * pending calls */ + priv->avatar_requests_queue = g_list_append (priv->avatar_requests_queue, + GUINT_TO_POINTER (handle)); + tp_contact_list_start_avatar_requests (list); +} + +static void +tp_contact_list_start_avatar_requests (EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + TpContactListAvatarRequestData *data; + + priv = GET_PRIV (list); + + while (n_avatar_requests < MAX_AVATAR_REQUESTS && + priv->avatar_requests_queue) { + data = g_slice_new (TpContactListAvatarRequestData); + data->list = list; + data->handle = GPOINTER_TO_UINT (priv->avatar_requests_queue->data); + + n_avatar_requests++; + priv->avatar_requests_queue = g_list_remove (priv->avatar_requests_queue, + priv->avatar_requests_queue->data); + + tp_conn_iface_avatars_request_avatar_async (priv->avatars_iface, + data->handle, + (tp_conn_iface_avatars_request_avatar_reply) + tp_contact_list_request_avatar_cb, + data); + } +} + +static void +tp_contact_list_avatar_update_cb (DBusGProxy *proxy, + guint handle, + gchar *new_token, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + + priv = GET_PRIV (list); + + if (!g_hash_table_lookup (priv->contacts, GUINT_TO_POINTER (handle))) { + /* We don't know this contact, skip */ + return; + } + + gossip_debug (DEBUG_DOMAIN, "Changing avatar for %d to %s", + handle, new_token); + + tp_contact_list_request_avatar (list, handle); +} + +static void +tp_contact_list_request_avatar_cb (DBusGProxy *proxy, + GArray *avatar_data, + gchar *mime_type, + GError *error, + TpContactListAvatarRequestData *data) +{ + GossipContact *contact; + + contact = empathy_tp_contact_list_get_from_handle (data->list, data->handle); + + if (error) { + gossip_debug (DEBUG_DOMAIN, "Error requesting avatar for %s: %s", + gossip_contact_get_name (contact), + error ? error->message : "No error given"); + } else { + GossipAvatar *avatar; + + avatar = gossip_avatar_new (avatar_data->data, + avatar_data->len, + mime_type); + tp_contact_list_block_contact (data->list, contact); + gossip_contact_set_avatar (contact, avatar); + tp_contact_list_unblock_contact (data->list, contact); + gossip_avatar_unref (avatar); + } + + n_avatar_requests--; + tp_contact_list_start_avatar_requests (data->list); + + g_object_unref (contact); + g_slice_free (TpContactListAvatarRequestData, data); +} + +static void +tp_contact_list_aliases_update_cb (DBusGProxy *proxy, + GPtrArray *renamed_handlers, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + guint i; + + priv = GET_PRIV (list); + + for (i = 0; renamed_handlers->len > i; i++) { + guint handle; + const gchar *alias; + GValueArray *renamed_struct; + GossipContact *contact; + + renamed_struct = g_ptr_array_index (renamed_handlers, i); + handle = g_value_get_uint(g_value_array_get_nth (renamed_struct, 0)); + alias = g_value_get_string(g_value_array_get_nth (renamed_struct, 1)); + + if (!g_hash_table_lookup (priv->contacts, GUINT_TO_POINTER (handle))) { + /* We don't know this contact, skip */ + continue; + } + + if (G_STR_EMPTY (alias)) { + alias = NULL; + } + + contact = empathy_tp_contact_list_get_from_handle (list, handle); + tp_contact_list_block_contact (list, contact); + gossip_contact_set_name (contact, alias); + tp_contact_list_unblock_contact (list, contact); + g_object_unref (contact); + + gossip_debug (DEBUG_DOMAIN, "contact %d renamed to %s (update cb)", + handle, alias); + } +} + +static void +tp_contact_list_request_aliases_cb (DBusGProxy *proxy, + gchar **contact_names, + GError *error, + TpContactListAliasesRequestData *data) +{ + guint i = 0; + gchar **name; + + if (error) { + gossip_debug (DEBUG_DOMAIN, "Error requesting aliases: %s", + error->message); + } + + for (name = contact_names; *name && !error; name++) { + GossipContact *contact; + + contact = empathy_tp_contact_list_get_from_handle (data->list, + data->handles[i]); + tp_contact_list_block_contact (data->list, contact); + gossip_contact_set_name (contact, *name); + tp_contact_list_unblock_contact (data->list, contact); + g_object_unref (contact); + + gossip_debug (DEBUG_DOMAIN, "contact %d renamed to %s (request cb)", + data->handles[i], *name); + + i++; + } + + g_free (data->handles); + g_slice_free (TpContactListAliasesRequestData, data); +} + +static void +tp_contact_list_presence_update_cb (DBusGProxy *proxy, + GHashTable *handle_table, + EmpathyTpContactList *list) +{ + g_hash_table_foreach (handle_table, + (GHFunc) tp_contact_list_parse_presence_foreach, + list); +} + +static void +tp_contact_list_parse_presence_foreach (guint handle, + GValueArray *presence_struct, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + GHashTable *presences_table; + GossipContact *contact; + GossipPresence *presence = NULL; + + priv = GET_PRIV (list); + + if (!g_hash_table_lookup (priv->contacts, GUINT_TO_POINTER (handle))) { + /* We don't know this contact, skip */ + return; + } + + contact = empathy_tp_contact_list_get_from_handle (list, handle); + presences_table = g_value_get_boxed (g_value_array_get_nth (presence_struct, 1)); + + g_hash_table_foreach (presences_table, + (GHFunc) tp_contact_list_presences_table_foreach, + &presence); + + gossip_debug (DEBUG_DOMAIN, "Presence changed for %s (%d) to %s (%d)", + gossip_contact_get_name (contact), + handle, + presence ? gossip_presence_get_status (presence) : "unset", + presence ? gossip_presence_get_state (presence) : MC_PRESENCE_UNSET); + + tp_contact_list_block_contact (list, contact); + gossip_contact_set_presence (contact, presence); + tp_contact_list_unblock_contact (list, contact); + + g_object_unref (contact); +} + +static void +tp_contact_list_presences_table_foreach (const gchar *state_str, + GHashTable *presences_table, + GossipPresence **presence) +{ + McPresence state; + const GValue *message; + + state = gossip_presence_state_from_str (state_str); + if ((state == MC_PRESENCE_UNSET) || (state == MC_PRESENCE_OFFLINE)) { + return; + } + + if (*presence) { + g_object_unref (*presence); + *presence = NULL; + } + + *presence = gossip_presence_new (); + gossip_presence_set_state (*presence, state); + + message = g_hash_table_lookup (presences_table, "message"); + if (message != NULL) { + gossip_presence_set_status (*presence, + g_value_get_string (message)); + } +} + +static void +tp_contact_list_status_changed_cb (MissionControl *mc, + TelepathyConnectionStatus status, + McPresence presence, + TelepathyConnectionStatusReason reason, + const gchar *unique_name, + EmpathyTpContactList *list) +{ + EmpathyTpContactListPriv *priv; + McAccount *account; + + priv = GET_PRIV (list); + + account = mc_account_lookup (unique_name); + if (status != TP_CONN_STATUS_DISCONNECTED || + !gossip_account_equal (account, priv->account)) { + g_object_unref (account); + return; + } + + /* We are disconnected, do just like if the connection was destroyed */ + g_signal_handlers_disconnect_by_func (priv->tp_conn, + tp_contact_list_destroy_cb, + list); + tp_contact_list_destroy_cb (DBUS_G_PROXY (priv->tp_conn), list); + + g_object_unref (account); +} + diff --git a/trunk/libempathy/empathy-tp-contact-list.h b/trunk/libempathy/empathy-tp-contact-list.h new file mode 100644 index 000000000..580741328 --- /dev/null +++ b/trunk/libempathy/empathy-tp-contact-list.h @@ -0,0 +1,70 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Xavier Claessens <xclaesse@gmail.com> + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __EMPATHY_TP_CONTACT_LIST_H__ +#define __EMPATHY_TP_CONTACT_LIST_H__ + +#include <glib.h> +#include <libmissioncontrol/mc-account.h> + +#include "gossip-contact.h" + +G_BEGIN_DECLS + +#define EMPATHY_TYPE_TP_CONTACT_LIST (empathy_tp_contact_list_get_type ()) +#define EMPATHY_TP_CONTACT_LIST(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_CONTACT_LIST, EmpathyTpContactList)) +#define EMPATHY_TP_CONTACT_LIST_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EMPATHY_TYPE_CONTACT_LIST, EmpathyTpContactListClass)) +#define EMPATHY_IS_TP_CONTACT_LIST(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_CONTACT_LIST)) +#define EMPATHY_IS_TP_CONTACT_LIST_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_CONTACT_LIST)) +#define EMPATHY_TP_CONTACT_LIST_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_CONTACT_LIST, EmpathyTpContactListClass)) + +typedef struct _EmpathyTpContactList EmpathyTpContactList; +typedef struct _EmpathyTpContactListClass EmpathyTpContactListClass; +typedef struct _EmpathyTpContactListPriv EmpathyTpContactListPriv; + +struct _EmpathyTpContactList { + GObject parent; +}; + +struct _EmpathyTpContactListClass { + GObjectClass parent_class; +}; + +GType empathy_tp_contact_list_get_type (void) G_GNUC_CONST; +EmpathyTpContactList * empathy_tp_contact_list_new (McAccount *account); +McAccount * empathy_tp_contact_list_get_account (EmpathyTpContactList *list); +GossipContact * empathy_tp_contact_list_get_user (EmpathyTpContactList *list); +GossipContact * empathy_tp_contact_list_get_from_id (EmpathyTpContactList *list, + const gchar *id); +GossipContact * empathy_tp_contact_list_get_from_handle (EmpathyTpContactList *list, + guint handle); +GList * empathy_tp_contact_list_get_from_handles (EmpathyTpContactList *list, + GArray *handles); +void empathy_tp_contact_list_rename_group (EmpathyTpContactList *list, + const gchar *old_group, + const gchar *new_group); +GList * empathy_tp_contact_list_get_groups (EmpathyTpContactList *list); + +G_END_DECLS + +#endif /* __EMPATHY_TP_CONTACT_LIST_H__ */ diff --git a/trunk/libempathy/gossip-avatar.c b/trunk/libempathy/gossip-avatar.c new file mode 100644 index 000000000..5c17a5176 --- /dev/null +++ b/trunk/libempathy/gossip-avatar.c @@ -0,0 +1,86 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2002-2007 Imendio AB + * + * 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. + * + * Authors: Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include "gossip-avatar.h" + +#define DEBUG_DOMAIN "Avatar" + +GType +gossip_avatar_get_gtype (void) +{ + static GType type_id = 0; + + if (!type_id) { + type_id = g_boxed_type_register_static ("GossipAvatar", + (GBoxedCopyFunc) gossip_avatar_ref, + (GBoxedFreeFunc) gossip_avatar_unref); + } + + return type_id; +} + +GossipAvatar * +gossip_avatar_new (guchar *data, + gsize len, + gchar *format) +{ + GossipAvatar *avatar; + + g_return_val_if_fail (data != NULL, NULL); + g_return_val_if_fail (len > 0, NULL); + g_return_val_if_fail (format != NULL, NULL); + + avatar = g_slice_new0 (GossipAvatar); + avatar->data = g_memdup (data, len); + avatar->len = len; + avatar->format = g_strdup (format); + avatar->refcount = 1; + + return avatar; +} + +void +gossip_avatar_unref (GossipAvatar *avatar) +{ + g_return_if_fail (avatar != NULL); + + avatar->refcount--; + if (avatar->refcount == 0) { + g_free (avatar->data); + g_free (avatar->format); + g_slice_free (GossipAvatar, avatar); + } +} + +GossipAvatar * +gossip_avatar_ref (GossipAvatar *avatar) +{ + g_return_val_if_fail (avatar != NULL, NULL); + + avatar->refcount++; + + return avatar; +} + diff --git a/trunk/libempathy/gossip-avatar.h b/trunk/libempathy/gossip-avatar.h new file mode 100644 index 000000000..44fa9aba3 --- /dev/null +++ b/trunk/libempathy/gossip-avatar.h @@ -0,0 +1,48 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006 Xavier Claessens <xclaesse@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; 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. + */ + +#ifndef __GOSSIP_AVATAR_H__ +#define __GOSSIP_AVATAR_H__ + +#include <glib-object.h> + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_AVATAR (gossip_avatar_get_gtype ()) + +typedef struct _GossipAvatar GossipAvatar; + +struct _GossipAvatar { + guchar *data; + gsize len; + gchar *format; + guint refcount; +}; + +GType gossip_avatar_get_gtype (void) G_GNUC_CONST; +GossipAvatar * gossip_avatar_new (guchar *avatar, + gsize len, + gchar *format); +GossipAvatar * gossip_avatar_ref (GossipAvatar *avatar); +void gossip_avatar_unref (GossipAvatar *avatar); + +G_END_DECLS + +#endif /* __GOSSIP_AVATAR_H__ */ diff --git a/trunk/libempathy/gossip-chatroom-manager.c b/trunk/libempathy/gossip-chatroom-manager.c new file mode 100644 index 000000000..ade0b0ba0 --- /dev/null +++ b/trunk/libempathy/gossip-chatroom-manager.c @@ -0,0 +1,500 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + * Martyn Russell <martyn@imendio.com> + */ + +#include "config.h" + +#include <string.h> +#include <sys/types.h> +#include <sys/stat.h> + +#include <libxml/parser.h> +#include <libxml/tree.h> + +#include "gossip-debug.h" +#include "gossip-chatroom-manager.h" +#include "gossip-utils.h" + +#define DEBUG_DOMAIN "ChatroomManager" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_CHATROOM_MANAGER, GossipChatroomManagerPriv)) + +#define CHATROOMS_XML_FILENAME "chatrooms.xml" +#define CHATROOMS_DTD_FILENAME "gossip-chatroom-manager.dtd" + +struct _GossipChatroomManagerPriv { + GList *chatrooms; +}; + +static void gossip_chatroom_manager_class_init (GossipChatroomManagerClass *klass); +static void gossip_chatroom_manager_init (GossipChatroomManager *manager); +static void chatroom_manager_finalize (GObject *object); +static gboolean chatroom_manager_get_all (GossipChatroomManager *manager); +static gboolean chatroom_manager_file_parse (GossipChatroomManager *manager, + const gchar *filename); +static void chatroom_manager_parse_chatroom (GossipChatroomManager *manager, + xmlNodePtr node); +static gboolean chatroom_manager_file_save (GossipChatroomManager *manager); + +enum { + CHATROOM_ADDED, + CHATROOM_REMOVED, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL]; + +G_DEFINE_TYPE (GossipChatroomManager, gossip_chatroom_manager, G_TYPE_OBJECT); + +static void +gossip_chatroom_manager_class_init (GossipChatroomManagerClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = chatroom_manager_finalize; + + signals[CHATROOM_ADDED] = + g_signal_new ("chatroom-added", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, + 1, GOSSIP_TYPE_CHATROOM); + signals[CHATROOM_REMOVED] = + g_signal_new ("chatroom-removed", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, + 1, GOSSIP_TYPE_CHATROOM); + + g_type_class_add_private (object_class, + sizeof (GossipChatroomManagerPriv)); +} + +static void +gossip_chatroom_manager_init (GossipChatroomManager *manager) +{ +} + +static void +chatroom_manager_finalize (GObject *object) +{ + GossipChatroomManagerPriv *priv; + + priv = GET_PRIV (object); + + g_list_foreach (priv->chatrooms, (GFunc) g_object_unref, NULL); + g_list_free (priv->chatrooms); + + (G_OBJECT_CLASS (gossip_chatroom_manager_parent_class)->finalize) (object); +} + +GossipChatroomManager * +gossip_chatroom_manager_new (void) +{ + static GossipChatroomManager *manager = NULL; + + if (!manager) { + GossipChatroomManagerPriv *priv; + + manager = g_object_new (GOSSIP_TYPE_CHATROOM_MANAGER, NULL); + priv = GET_PRIV (manager); + chatroom_manager_get_all (manager); + + g_object_add_weak_pointer (G_OBJECT (manager), (gpointer) &manager); + } else { + g_object_ref (manager); + } + + return manager; +} + +gboolean +gossip_chatroom_manager_add (GossipChatroomManager *manager, + GossipChatroom *chatroom) +{ + GossipChatroomManagerPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CHATROOM_MANAGER (manager), FALSE); + g_return_val_if_fail (GOSSIP_IS_CHATROOM (chatroom), FALSE); + + priv = GET_PRIV (manager); + + /* don't add more than once */ + if (!gossip_chatroom_manager_find (manager, + gossip_chatroom_get_account (chatroom), + gossip_chatroom_get_room (chatroom))) { + priv->chatrooms = g_list_append (priv->chatrooms, g_object_ref (chatroom)); + chatroom_manager_file_save (manager); + + g_signal_emit (manager, signals[CHATROOM_ADDED], 0, chatroom); + + return TRUE; + } + + return FALSE; +} + +void +gossip_chatroom_manager_remove (GossipChatroomManager *manager, + GossipChatroom *chatroom) +{ + GossipChatroomManagerPriv *priv; + GList *l; + + g_return_if_fail (GOSSIP_IS_CHATROOM_MANAGER (manager)); + g_return_if_fail (GOSSIP_IS_CHATROOM (chatroom)); + + priv = GET_PRIV (manager); + + for (l = priv->chatrooms; l; l = l->next) { + GossipChatroom *this_chatroom; + + this_chatroom = l->data; + + if (gossip_chatroom_equal (chatroom, this_chatroom)) { + priv->chatrooms = g_list_delete_link (priv->chatrooms, l); + + chatroom_manager_file_save (manager); + + g_signal_emit (manager, signals[CHATROOM_REMOVED], 0, this_chatroom); + g_object_unref (this_chatroom); + break; + } + } +} + +GossipChatroom * +gossip_chatroom_manager_find (GossipChatroomManager *manager, + McAccount *account, + const gchar *room) +{ + GossipChatroomManagerPriv *priv; + GList *l; + + g_return_val_if_fail (GOSSIP_IS_CHATROOM_MANAGER (manager), NULL); + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + g_return_val_if_fail (room != NULL, NULL); + + priv = GET_PRIV (manager); + + for (l = priv->chatrooms; l; l = l->next) { + GossipChatroom *chatroom; + McAccount *this_account; + const gchar *this_room; + + chatroom = l->data; + this_account = gossip_chatroom_get_account (chatroom); + this_room = gossip_chatroom_get_room (chatroom); + + if (gossip_account_equal (account, this_account) && + strcmp (this_room, room) == 0) { + return chatroom; + } + } + + return NULL; +} + +GList * +gossip_chatroom_manager_get_chatrooms (GossipChatroomManager *manager, + McAccount *account) +{ + GossipChatroomManagerPriv *priv; + GList *chatrooms, *l; + + g_return_val_if_fail (GOSSIP_IS_CHATROOM_MANAGER (manager), NULL); + + priv = GET_PRIV (manager); + + if (!account) { + return g_list_copy (priv->chatrooms); + } + + chatrooms = NULL; + for (l = priv->chatrooms; l; l = l->next) { + GossipChatroom *chatroom; + + chatroom = l->data; + + if (gossip_account_equal (account, + gossip_chatroom_get_account (chatroom))) { + chatrooms = g_list_append (chatrooms, chatroom); + } + } + + return chatrooms; +} + +guint +gossip_chatroom_manager_get_count (GossipChatroomManager *manager, + McAccount *account) +{ + GossipChatroomManagerPriv *priv; + GList *l; + guint count = 0; + + g_return_val_if_fail (GOSSIP_IS_CHATROOM_MANAGER (manager), 0); + + priv = GET_PRIV (manager); + + if (!account) { + return g_list_length (priv->chatrooms); + } + + for (l = priv->chatrooms; l; l = l->next) { + GossipChatroom *chatroom; + + chatroom = l->data; + + if (gossip_account_equal (account, + gossip_chatroom_get_account (chatroom))) { + count++; + } + } + + return count; +} + +void +gossip_chatroom_manager_store (GossipChatroomManager *manager) +{ + g_return_if_fail (GOSSIP_IS_CHATROOM_MANAGER (manager)); + + chatroom_manager_file_save (manager); +} + +/* + * API to save/load and parse the chatrooms file. + */ + +static gboolean +chatroom_manager_get_all (GossipChatroomManager *manager) +{ + GossipChatroomManagerPriv *priv; + gchar *dir; + gchar *file_with_path = NULL; + + priv = GET_PRIV (manager); + + dir = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, NULL); + if (!g_file_test (dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) { + g_mkdir_with_parents (dir, S_IRUSR | S_IWUSR | S_IXUSR); + } + + file_with_path = g_build_filename (dir, CHATROOMS_XML_FILENAME, NULL); + g_free (dir); + + /* read file in */ + if (g_file_test (file_with_path, G_FILE_TEST_EXISTS) && + !chatroom_manager_file_parse (manager, file_with_path)) { + g_free (file_with_path); + return FALSE; + } + + g_free (file_with_path); + + return TRUE; +} + +static gboolean +chatroom_manager_file_parse (GossipChatroomManager *manager, + const gchar *filename) +{ + GossipChatroomManagerPriv *priv; + xmlParserCtxtPtr ctxt; + xmlDocPtr doc; + xmlNodePtr chatrooms; + xmlNodePtr node; + + priv = GET_PRIV (manager); + + gossip_debug (DEBUG_DOMAIN, "Attempting to parse file:'%s'...", filename); + + ctxt = xmlNewParserCtxt (); + + /* Parse and validate the file. */ + doc = xmlCtxtReadFile (ctxt, filename, NULL, 0); + if (!doc) { + g_warning ("Failed to parse file:'%s'", filename); + xmlFreeParserCtxt (ctxt); + return FALSE; + } + + if (!gossip_xml_validate (doc, CHATROOMS_DTD_FILENAME)) { + g_warning ("Failed to validate file:'%s'", filename); + xmlFreeDoc(doc); + xmlFreeParserCtxt (ctxt); + return FALSE; + } + + /* The root node, chatrooms. */ + chatrooms = xmlDocGetRootElement (doc); + + for (node = chatrooms->children; node; node = node->next) { + if (strcmp ((gchar *) node->name, "chatroom") == 0) { + chatroom_manager_parse_chatroom (manager, node); + } + } + + gossip_debug (DEBUG_DOMAIN, + "Parsed %d chatrooms", + g_list_length (priv->chatrooms)); + + xmlFreeDoc(doc); + xmlFreeParserCtxt (ctxt); + + return TRUE; +} + +static void +chatroom_manager_parse_chatroom (GossipChatroomManager *manager, + xmlNodePtr node) +{ + GossipChatroomManagerPriv *priv; + GossipChatroom *chatroom; + McAccount *account; + xmlNodePtr child; + gchar *str; + gchar *name; + gchar *room; + gchar *account_id; + gboolean auto_connect; + + priv = GET_PRIV (manager); + + /* default values. */ + name = NULL; + room = NULL; + auto_connect = TRUE; + account_id = NULL; + + for (child = node->children; child; child = child->next) { + gchar *tag; + + if (xmlNodeIsText (child)) { + continue; + } + + tag = (gchar *) child->name; + str = (gchar *) xmlNodeGetContent (child); + + if (strcmp (tag, "name") == 0) { + name = g_strdup (str); + } + else if (strcmp (tag, "room") == 0) { + room = g_strdup (str); + } + else if (strcmp (tag, "auto_connect") == 0) { + if (strcmp (str, "yes") == 0) { + auto_connect = TRUE; + } else { + auto_connect = FALSE; + } + } + else if (strcmp (tag, "account") == 0) { + account_id = g_strdup (str); + } + + xmlFree (str); + } + + account = mc_account_lookup (account_id); + if (!account) { + g_free (name); + g_free (room); + g_free (account_id); + return; + } + + chatroom = gossip_chatroom_new_full (account, + room, + name, + auto_connect); + + priv->chatrooms = g_list_prepend (priv->chatrooms, chatroom); + + g_object_unref (account); + g_free (name); + g_free (room); + g_free (account_id); +} + +static gboolean +chatroom_manager_file_save (GossipChatroomManager *manager) +{ + GossipChatroomManagerPriv *priv; + xmlDocPtr doc; + xmlNodePtr root; + GList *l; + gchar *dir; + gchar *file; + + priv = GET_PRIV (manager); + + dir = g_build_filename (g_get_home_dir (), ".gnome2", PACKAGE_NAME, NULL); + if (!g_file_test (dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) { + g_mkdir_with_parents (dir, S_IRUSR | S_IWUSR | S_IXUSR); + } + + file = g_build_filename (dir, CHATROOMS_XML_FILENAME, NULL); + g_free (dir); + + doc = xmlNewDoc ("1.0"); + root = xmlNewNode (NULL, "chatrooms"); + xmlDocSetRootElement (doc, root); + + for (l = priv->chatrooms; l; l = l->next) { + GossipChatroom *chatroom; + xmlNodePtr node; + const gchar *account_id; + + chatroom = l->data; + account_id = mc_account_get_unique_name (gossip_chatroom_get_account (chatroom)); + + node = xmlNewChild (root, NULL, "chatroom", NULL); + xmlNewTextChild (node, NULL, "name", gossip_chatroom_get_name (chatroom)); + xmlNewTextChild (node, NULL, "room", gossip_chatroom_get_room (chatroom)); + xmlNewTextChild (node, NULL, "account", account_id); + xmlNewTextChild (node, NULL, "auto_connect", gossip_chatroom_get_auto_connect (chatroom) ? "yes" : "no"); + } + + /* Make sure the XML is indented properly */ + xmlIndentTreeOutput = 1; + + gossip_debug (DEBUG_DOMAIN, "Saving file:'%s'", file); + xmlSaveFormatFileEnc (file, doc, "utf-8", 1); + xmlFreeDoc (doc); + + xmlCleanupParser (); + xmlMemoryDump (); + + g_free (file); + + return TRUE; +} diff --git a/trunk/libempathy/gossip-chatroom-manager.dtd b/trunk/libempathy/gossip-chatroom-manager.dtd new file mode 100644 index 000000000..5d94a57c2 --- /dev/null +++ b/trunk/libempathy/gossip-chatroom-manager.dtd @@ -0,0 +1,17 @@ +<!-- + DTD for Gossips Chat Rooms. + by Martyn Russell <martyn@imendio.com> + v0.2 +--> + +<!-- Root element. --> +<!ELEMENT chatrooms (chatroom*)> + +<!ELEMENT chatroom + (name,room,account,(auto_connect?))> + +<!ELEMENT name (#PCDATA)> +<!ELEMENT room (#PCDATA)> +<!ELEMENT auto_connect (#PCDATA)> +<!ELEMENT account (#PCDATA)> + diff --git a/trunk/libempathy/gossip-chatroom-manager.h b/trunk/libempathy/gossip-chatroom-manager.h new file mode 100644 index 000000000..7d10a0fc1 --- /dev/null +++ b/trunk/libempathy/gossip-chatroom-manager.h @@ -0,0 +1,72 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + * Martyn Russell <martyn@imendio.com> + */ + +#ifndef __GOSSIP_CHATROOM_MANAGER_H__ +#define __GOSSIP_CHATROOM_MANAGER_H__ + +#include <glib-object.h> + +#include <libmissioncontrol/mc-account.h> + +#include "gossip-chatroom.h" + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_CHATROOM_MANAGER (gossip_chatroom_manager_get_type ()) +#define GOSSIP_CHATROOM_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_CHATROOM_MANAGER, GossipChatroomManager)) +#define GOSSIP_CHATROOM_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOSSIP_TYPE_CHATROOM_MANAGER, GossipChatroomManagerClass)) +#define GOSSIP_IS_CHATROOM_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_CHATROOM_MANAGER)) +#define GOSSIP_IS_CHATROOM_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_CHATROOM_MANAGER)) +#define GOSSIP_CHATROOM_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_CHATROOM_MANAGER, GossipChatroomManagerClass)) + +typedef struct _GossipChatroomManager GossipChatroomManager; +typedef struct _GossipChatroomManagerClass GossipChatroomManagerClass; +typedef struct _GossipChatroomManagerPriv GossipChatroomManagerPriv; + +struct _GossipChatroomManager { + GObject parent; +}; + +struct _GossipChatroomManagerClass { + GObjectClass parent_class; +}; + +GType gossip_chatroom_manager_get_type (void) G_GNUC_CONST; +GossipChatroomManager *gossip_chatroom_manager_new (void); +gboolean gossip_chatroom_manager_add (GossipChatroomManager *manager, + GossipChatroom *chatroom); +void gossip_chatroom_manager_remove (GossipChatroomManager *manager, + GossipChatroom *chatroom); +GossipChatroom * gossip_chatroom_manager_find (GossipChatroomManager *manager, + McAccount *account, + const gchar *room); +GList * gossip_chatroom_manager_get_chatrooms (GossipChatroomManager *manager, + McAccount *account); +guint gossip_chatroom_manager_get_count (GossipChatroomManager *manager, + McAccount *account); +void gossip_chatroom_manager_store (GossipChatroomManager *manager); + +G_END_DECLS + +#endif /* __GOSSIP_CHATROOM_MANAGER_H__ */ diff --git a/trunk/libempathy/gossip-chatroom.c b/trunk/libempathy/gossip-chatroom.c new file mode 100644 index 000000000..eccd2824c --- /dev/null +++ b/trunk/libempathy/gossip-chatroom.c @@ -0,0 +1,360 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include <string.h> + +#include <glib.h> + +#include "gossip-chatroom.h" +#include "gossip-utils.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_CHATROOM, GossipChatroomPriv)) + +struct _GossipChatroomPriv { + McAccount *account; + gchar *room; + gchar *name; + gboolean auto_connect; +}; + +static void gossip_chatroom_class_init (GossipChatroomClass *klass); +static void gossip_chatroom_init (GossipChatroom *chatroom); +static void chatroom_finalize (GObject *object); +static void chatroom_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec); +static void chatroom_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec); + +enum { + PROP_0, + PROP_ACCOUNT, + PROP_ROOM, + PROP_NAME, + PROP_AUTO_CONNECT, +}; + +G_DEFINE_TYPE (GossipChatroom, gossip_chatroom, G_TYPE_OBJECT); + +static void +gossip_chatroom_class_init (GossipChatroomClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = chatroom_finalize; + object_class->get_property = chatroom_get_property; + object_class->set_property = chatroom_set_property; + + g_object_class_install_property (object_class, + PROP_ACCOUNT, + g_param_spec_object ("account", + "Chatroom Account", + "The account associated with an chatroom", + MC_TYPE_ACCOUNT, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_ROOM, + g_param_spec_string ("room", + "Chatroom Room", + "Chatroom represented as 'room@server'", + NULL, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_NAME, + g_param_spec_string ("name", + "Chatroom Name", + "Chatroom name", + NULL, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_AUTO_CONNECT, + g_param_spec_boolean ("auto_connect", + "Chatroom Auto Connect", + "Connect on startup", + FALSE, + G_PARAM_READWRITE)); + + + g_type_class_add_private (object_class, sizeof (GossipChatroomPriv)); +} + +static void +gossip_chatroom_init (GossipChatroom *chatroom) +{ +} + +static void +chatroom_finalize (GObject *object) +{ + GossipChatroomPriv *priv; + + priv = GET_PRIV (object); + + g_object_unref (priv->account); + g_free (priv->room); + g_free (priv->name); + + (G_OBJECT_CLASS (gossip_chatroom_parent_class)->finalize) (object); +} + +static void +chatroom_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec) +{ + GossipChatroomPriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_ACCOUNT: + g_value_set_object (value, priv->account); + break; + case PROP_ROOM: + g_value_set_string (value, priv->room); + break; + case PROP_NAME: + g_value_set_string (value, priv->name); + break; + case PROP_AUTO_CONNECT: + g_value_set_boolean (value, priv->auto_connect); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +static void +chatroom_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec) +{ + GossipChatroomPriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_ACCOUNT: + gossip_chatroom_set_account (GOSSIP_CHATROOM (object), + g_value_get_object (value)); + break; + case PROP_ROOM: + gossip_chatroom_set_room (GOSSIP_CHATROOM (object), + g_value_get_string (value)); + break; + case PROP_NAME: + gossip_chatroom_set_name (GOSSIP_CHATROOM (object), + g_value_get_string (value)); + break; + case PROP_AUTO_CONNECT: + gossip_chatroom_set_auto_connect (GOSSIP_CHATROOM (object), + g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +GossipChatroom * +gossip_chatroom_new (McAccount *account, + const gchar *room) +{ + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + g_return_val_if_fail (room != NULL, NULL); + + return g_object_new (GOSSIP_TYPE_CHATROOM, + "account", account, + "room", room, + NULL); +} + +GossipChatroom * +gossip_chatroom_new_full (McAccount *account, + const gchar *room, + const gchar *name, + gboolean auto_connect) +{ + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + g_return_val_if_fail (room != NULL, NULL); + + return g_object_new (GOSSIP_TYPE_CHATROOM, + "account", account, + "room", room, + "name", name, + "auto_connect", auto_connect, + NULL); +} + +McAccount * +gossip_chatroom_get_account (GossipChatroom *chatroom) +{ + GossipChatroomPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CHATROOM (chatroom), NULL); + + priv = GET_PRIV (chatroom); + return priv->account; +} + +void +gossip_chatroom_set_account (GossipChatroom *chatroom, + McAccount *account) +{ + GossipChatroomPriv *priv; + + g_return_if_fail (GOSSIP_IS_CHATROOM (chatroom)); + g_return_if_fail (MC_IS_ACCOUNT (account)); + + priv = GET_PRIV (chatroom); + + if (account == priv->account) { + return; + } + if (priv->account) { + g_object_unref (priv->account); + } + priv->account = g_object_ref (account); + + g_object_notify (G_OBJECT (chatroom), "account"); +} + +const gchar * +gossip_chatroom_get_room (GossipChatroom *chatroom) +{ + GossipChatroomPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CHATROOM (chatroom), NULL); + + priv = GET_PRIV (chatroom); + return priv->room; +} + +void +gossip_chatroom_set_room (GossipChatroom *chatroom, + const gchar *room) +{ + GossipChatroomPriv *priv; + + g_return_if_fail (GOSSIP_IS_CHATROOM (chatroom)); + g_return_if_fail (room != NULL); + + priv = GET_PRIV (chatroom); + + g_free (priv->room); + priv->room = g_strdup (room); + + g_object_notify (G_OBJECT (chatroom), "room"); +} + +const gchar * +gossip_chatroom_get_name (GossipChatroom *chatroom) +{ + GossipChatroomPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CHATROOM (chatroom), NULL); + + priv = GET_PRIV (chatroom); + + if (G_STR_EMPTY (priv->name)) { + return priv->room; + } + + return priv->name; +} + +void +gossip_chatroom_set_name (GossipChatroom *chatroom, + const gchar *name) +{ + GossipChatroomPriv *priv; + + g_return_if_fail (GOSSIP_IS_CHATROOM (chatroom)); + g_return_if_fail (name != NULL); + + priv = GET_PRIV (chatroom); + + g_free (priv->name); + priv->name = g_strdup (name); + + g_object_notify (G_OBJECT (chatroom), "name"); +} + +gboolean +gossip_chatroom_get_auto_connect (GossipChatroom *chatroom) +{ + GossipChatroomPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CHATROOM (chatroom), FALSE); + + priv = GET_PRIV (chatroom); + return priv->auto_connect; +} + +void +gossip_chatroom_set_auto_connect (GossipChatroom *chatroom, + gboolean auto_connect) +{ + GossipChatroomPriv *priv; + + g_return_if_fail (GOSSIP_IS_CHATROOM (chatroom)); + + priv = GET_PRIV (chatroom); + + priv->auto_connect = auto_connect; + + g_object_notify (G_OBJECT (chatroom), "auto-connect"); +} + +gboolean +gossip_chatroom_equal (gconstpointer v1, + gconstpointer v2) +{ + McAccount *account_a; + McAccount *account_b; + const gchar *room_a; + const gchar *room_b; + + g_return_val_if_fail (GOSSIP_IS_CHATROOM (v1), FALSE); + g_return_val_if_fail (GOSSIP_IS_CHATROOM (v2), FALSE); + + account_a = gossip_chatroom_get_account (GOSSIP_CHATROOM (v1)); + account_b = gossip_chatroom_get_account (GOSSIP_CHATROOM (v2)); + + room_a = gossip_chatroom_get_room (GOSSIP_CHATROOM (v1)); + room_b = gossip_chatroom_get_room (GOSSIP_CHATROOM (v2)); + + return gossip_account_equal (account_a, account_b) && g_str_equal (room_a, room_b); +} + + diff --git a/trunk/libempathy/gossip-chatroom.h b/trunk/libempathy/gossip-chatroom.h new file mode 100644 index 000000000..70614a368 --- /dev/null +++ b/trunk/libempathy/gossip-chatroom.h @@ -0,0 +1,78 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_CHATROOM_H__ +#define __GOSSIP_CHATROOM_H__ + +#include <glib-object.h> + +#include <libmissioncontrol/mc-account.h> + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_CHATROOM (gossip_chatroom_get_type ()) +#define GOSSIP_CHATROOM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_CHATROOM, GossipChatroom)) +#define GOSSIP_CHATROOM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOSSIP_TYPE_CHATROOM, GossipChatroomClass)) +#define GOSSIP_IS_CHATROOM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_CHATROOM)) +#define GOSSIP_IS_CHATROOM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_CHATROOM)) +#define GOSSIP_CHATROOM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_CHATROOM, GossipChatroomClass)) + +#define GOSSIP_TYPE_CHATROOM_INVITE (gossip_chatroom_invite_get_gtype ()) + +typedef struct _GossipChatroom GossipChatroom; +typedef struct _GossipChatroomClass GossipChatroomClass; +typedef struct _GossipChatroomPriv GossipChatroomPriv; + +struct _GossipChatroom { + GObject parent; +}; + +struct _GossipChatroomClass { + GObjectClass parent_class; +}; + +GType gossip_chatroom_get_type (void) G_GNUC_CONST; +GossipChatroom *gossip_chatroom_new (McAccount *account, + const gchar *room); +GossipChatroom *gossip_chatroom_new_full (McAccount *account, + const gchar *room, + const gchar *name, + gboolean auto_connect); +McAccount * gossip_chatroom_get_account (GossipChatroom *chatroom); +void gossip_chatroom_set_account (GossipChatroom *chatroom, + McAccount *account); +const gchar * gossip_chatroom_get_room (GossipChatroom *chatroom); +void gossip_chatroom_set_room (GossipChatroom *chatroom, + const gchar *room); +const gchar * gossip_chatroom_get_name (GossipChatroom *chatroom); +void gossip_chatroom_set_name (GossipChatroom *chatroom, + const gchar *name); +gboolean gossip_chatroom_get_auto_connect (GossipChatroom *chatroom); +void gossip_chatroom_set_auto_connect (GossipChatroom *chatroom, + gboolean auto_connect); +gboolean gossip_chatroom_equal (gconstpointer v1, + gconstpointer v2); + + +G_BEGIN_DECLS + +#endif /* __GOSSIP_CHATROOM_H__ */ diff --git a/trunk/libempathy/gossip-conf.c b/trunk/libempathy/gossip-conf.c new file mode 100644 index 000000000..9625a700d --- /dev/null +++ b/trunk/libempathy/gossip-conf.c @@ -0,0 +1,382 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006 Imendio AB + * + * 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. + * + * Authors: Richard Hult <richard@imendio.com> + */ + +#include "config.h" + +#include <string.h> + +#include <gconf/gconf-client.h> + +#include "gossip-conf.h" +#include "gossip-debug.h" + +#define DEBUG_DOMAIN "Config" + +#define GOSSIP_CONF_ROOT "/apps/empathy" +#define DESKTOP_INTERFACE_ROOT "/desktop/gnome/interface" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_CONF, GossipConfPriv)) + +typedef struct { + GConfClient *gconf_client; +} GossipConfPriv; + +typedef struct { + GossipConf *conf; + GossipConfNotifyFunc func; + gpointer user_data; +} GossipConfNotifyData; + +static void conf_finalize (GObject *object); + +G_DEFINE_TYPE (GossipConf, gossip_conf, G_TYPE_OBJECT); + +static GossipConf *global_conf = NULL; + +static void +gossip_conf_class_init (GossipConfClass *class) +{ + GObjectClass *object_class; + + object_class = G_OBJECT_CLASS (class); + + object_class->finalize = conf_finalize; + + g_type_class_add_private (object_class, sizeof (GossipConfPriv)); +} + +static void +gossip_conf_init (GossipConf *conf) +{ + GossipConfPriv *priv; + + priv = GET_PRIV (conf); + + priv->gconf_client = gconf_client_get_default (); + + gconf_client_add_dir (priv->gconf_client, + GOSSIP_CONF_ROOT, + GCONF_CLIENT_PRELOAD_ONELEVEL, + NULL); + gconf_client_add_dir (priv->gconf_client, + DESKTOP_INTERFACE_ROOT, + GCONF_CLIENT_PRELOAD_NONE, + NULL); +} + +static void +conf_finalize (GObject *object) +{ + GossipConfPriv *priv; + + priv = GET_PRIV (object); + + gconf_client_remove_dir (priv->gconf_client, + GOSSIP_CONF_ROOT, + NULL); + gconf_client_remove_dir (priv->gconf_client, + DESKTOP_INTERFACE_ROOT, + NULL); + + g_object_unref (priv->gconf_client); + + G_OBJECT_CLASS (gossip_conf_parent_class)->finalize (object); +} + +GossipConf * +gossip_conf_get (void) +{ + if (!global_conf) { + global_conf = g_object_new (GOSSIP_TYPE_CONF, NULL); + } + + return global_conf; +} + +void +gossip_conf_shutdown (void) +{ + if (global_conf) { + g_object_unref (global_conf); + global_conf = NULL; + } +} + +gboolean +gossip_conf_set_int (GossipConf *conf, + const gchar *key, + gint value) +{ + GossipConfPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONF (conf), FALSE); + + gossip_debug (DEBUG_DOMAIN, "Setting int:'%s' to %d", key, value); + + priv = GET_PRIV (conf); + + return gconf_client_set_int (priv->gconf_client, + key, + value, + NULL); +} + +gboolean +gossip_conf_get_int (GossipConf *conf, + const gchar *key, + gint *value) +{ + GossipConfPriv *priv; + GError *error = NULL; + + *value = 0; + + g_return_val_if_fail (GOSSIP_IS_CONF (conf), FALSE); + g_return_val_if_fail (value != NULL, FALSE); + + priv = GET_PRIV (conf); + + *value = gconf_client_get_int (priv->gconf_client, + key, + &error); + + gossip_debug (DEBUG_DOMAIN, "Getting int:'%s' (=%d), error:'%s'", + key, *value, error ? error->message : "None"); + + if (error) { + g_error_free (error); + return FALSE; + } + + return TRUE; +} + +gboolean +gossip_conf_set_bool (GossipConf *conf, + const gchar *key, + gboolean value) +{ + GossipConfPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONF (conf), FALSE); + + gossip_debug (DEBUG_DOMAIN, "Setting bool:'%s' to %d ---> %s", + key, value, value ? "true" : "false"); + + priv = GET_PRIV (conf); + + return gconf_client_set_bool (priv->gconf_client, + key, + value, + NULL); +} + +gboolean +gossip_conf_get_bool (GossipConf *conf, + const gchar *key, + gboolean *value) +{ + GossipConfPriv *priv; + GError *error = NULL; + + *value = FALSE; + + g_return_val_if_fail (GOSSIP_IS_CONF (conf), FALSE); + g_return_val_if_fail (value != NULL, FALSE); + + priv = GET_PRIV (conf); + + *value = gconf_client_get_bool (priv->gconf_client, + key, + &error); + + gossip_debug (DEBUG_DOMAIN, "Getting bool:'%s' (=%d ---> %s), error:'%s'", + key, *value, *value ? "true" : "false", + error ? error->message : "None"); + + if (error) { + g_error_free (error); + return FALSE; + } + + return TRUE; +} + +gboolean +gossip_conf_set_string (GossipConf *conf, + const gchar *key, + const gchar *value) +{ + GossipConfPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONF (conf), FALSE); + + gossip_debug (DEBUG_DOMAIN, "Setting string:'%s' to '%s'", + key, value); + + priv = GET_PRIV (conf); + + return gconf_client_set_string (priv->gconf_client, + key, + value, + NULL); +} + +gboolean +gossip_conf_get_string (GossipConf *conf, + const gchar *key, + gchar **value) +{ + GossipConfPriv *priv; + GError *error = NULL; + + *value = NULL; + + g_return_val_if_fail (GOSSIP_IS_CONF (conf), FALSE); + + priv = GET_PRIV (conf); + + *value = gconf_client_get_string (priv->gconf_client, + key, + &error); + + gossip_debug (DEBUG_DOMAIN, "Getting string:'%s' (='%s'), error:'%s'", + key, *value, error ? error->message : "None"); + + if (error) { + g_error_free (error); + return FALSE; + } + + return TRUE; +} + +gboolean +gossip_conf_set_string_list (GossipConf *conf, + const gchar *key, + GSList *value) +{ + GossipConfPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONF (conf), FALSE); + + priv = GET_PRIV (conf); + + return gconf_client_set_list (priv->gconf_client, + key, + GCONF_VALUE_STRING, + value, + NULL); +} + +gboolean +gossip_conf_get_string_list (GossipConf *conf, + const gchar *key, + GSList **value) +{ + GossipConfPriv *priv; + GError *error = NULL; + + *value = NULL; + + g_return_val_if_fail (GOSSIP_IS_CONF (conf), FALSE); + + priv = GET_PRIV (conf); + + *value = gconf_client_get_list (priv->gconf_client, + key, + GCONF_VALUE_STRING, + &error); + if (error) { + g_error_free (error); + return FALSE; + } + + return TRUE; +} + +static void +conf_notify_data_free (GossipConfNotifyData *data) +{ + g_object_unref (data->conf); + g_slice_free (GossipConfNotifyData, data); +} + +static void +conf_notify_func (GConfClient *client, + guint id, + GConfEntry *entry, + gpointer user_data) +{ + GossipConfNotifyData *data; + + data = user_data; + + data->func (data->conf, + gconf_entry_get_key (entry), + data->user_data); +} + +guint +gossip_conf_notify_add (GossipConf *conf, + const gchar *key, + GossipConfNotifyFunc func, + gpointer user_data) +{ + GossipConfPriv *priv; + guint id; + GossipConfNotifyData *data; + + g_return_val_if_fail (GOSSIP_IS_CONF (conf), 0); + + priv = GET_PRIV (conf); + + data = g_slice_new (GossipConfNotifyData); + data->func = func; + data->user_data = user_data; + data->conf = g_object_ref (conf); + + id = gconf_client_notify_add (priv->gconf_client, + key, + conf_notify_func, + data, + (GFreeFunc) conf_notify_data_free, + NULL); + + return id; +} + +gboolean +gossip_conf_notify_remove (GossipConf *conf, + guint id) +{ + GossipConfPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONF (conf), FALSE); + + priv = GET_PRIV (conf); + + gconf_client_notify_remove (priv->gconf_client, id); + + return TRUE; +} + diff --git a/trunk/libempathy/gossip-conf.h b/trunk/libempathy/gossip-conf.h new file mode 100644 index 000000000..35fdfb902 --- /dev/null +++ b/trunk/libempathy/gossip-conf.h @@ -0,0 +1,87 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006 Imendio AB + * + * 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. + */ + +#ifndef __GOSSIP_CONF_H__ +#define __GOSSIP_CONF_H__ + +#include <glib-object.h> + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_CONF (gossip_conf_get_type ()) +#define GOSSIP_CONF(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_CONF, GossipConf)) +#define GOSSIP_CONF_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOSSIP_TYPE_CONF, GossipConfClass)) +#define GOSSIP_IS_CONF(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_CONF)) +#define GOSSIP_IS_CONF_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_CONF)) +#define GOSSIP_CONF_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_CONF, GossipConfClass)) + +typedef struct _GossipConf GossipConf; +typedef struct _GossipConfClass GossipConfClass; + +struct _GossipConf { + GObject parent; +}; + +struct _GossipConfClass { + GObjectClass parent_class; +}; + +typedef void (*GossipConfNotifyFunc) (GossipConf *conf, + const gchar *key, + gpointer user_data); + +GType gossip_conf_get_type (void) G_GNUC_CONST; +GossipConf *gossip_conf_get (void); +void gossip_conf_shutdown (void); +guint gossip_conf_notify_add (GossipConf *conf, + const gchar *key, + GossipConfNotifyFunc func, + gpointer data); +gboolean gossip_conf_notify_remove (GossipConf *conf, + guint id); +gboolean gossip_conf_set_int (GossipConf *conf, + const gchar *key, + gint value); +gboolean gossip_conf_get_int (GossipConf *conf, + const gchar *key, + gint *value); +gboolean gossip_conf_set_bool (GossipConf *conf, + const gchar *key, + gboolean value); +gboolean gossip_conf_get_bool (GossipConf *conf, + const gchar *key, + gboolean *value); +gboolean gossip_conf_set_string (GossipConf *conf, + const gchar *key, + const gchar *value); +gboolean gossip_conf_get_string (GossipConf *conf, + const gchar *key, + gchar **value); +gboolean gossip_conf_set_string_list (GossipConf *conf, + const gchar *key, + GSList *value); +gboolean gossip_conf_get_string_list (GossipConf *conf, + const gchar *key, + GSList **value); + +G_END_DECLS + +#endif /* __GOSSIP_CONF_H__ */ + diff --git a/trunk/libempathy/gossip-contact.c b/trunk/libempathy/gossip-contact.c new file mode 100644 index 000000000..51015f365 --- /dev/null +++ b/trunk/libempathy/gossip-contact.c @@ -0,0 +1,712 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004-2007 Imendio AB + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Martyn Russell <martyn@imendio.com> + */ + +#include "config.h" + +#include <string.h> + +#include <glib/gi18n.h> + +#include "gossip-contact.h" +#include "gossip-utils.h" +#include "gossip-debug.h" +#include "empathy-contact-manager.h" + +#define DEBUG_DOMAIN "Contact" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_CONTACT, GossipContactPriv)) + +typedef struct _GossipContactPriv GossipContactPriv; + +struct _GossipContactPriv { + gchar *id; + gchar *name; + GossipAvatar *avatar; + McAccount *account; + GossipPresence *presence; + GList *groups; + GossipSubscription subscription; + guint handle; +}; + +static void contact_class_init (GossipContactClass *class); +static void contact_init (GossipContact *contact); +static void contact_finalize (GObject *object); +static void contact_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec); +static void contact_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec); + +enum { + PROP_0, + PROP_ID, + PROP_NAME, + PROP_AVATAR, + PROP_ACCOUNT, + PROP_PRESENCE, + PROP_GROUPS, + PROP_SUBSCRIPTION, + PROP_HANDLE +}; + +static gpointer parent_class = NULL; + +GType +gossip_contact_get_gtype (void) +{ + static GType type = 0; + + if (!type) { + static const GTypeInfo info = { + sizeof (GossipContactClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) contact_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (GossipContact), + 0, /* n_preallocs */ + (GInstanceInitFunc) contact_init + }; + + type = g_type_register_static (G_TYPE_OBJECT, + "GossipContact", + &info, 0); + } + + return type; +} + +static void +contact_class_init (GossipContactClass *class) +{ + GObjectClass *object_class; + + object_class = G_OBJECT_CLASS (class); + parent_class = g_type_class_peek_parent (class); + + object_class->finalize = contact_finalize; + object_class->get_property = contact_get_property; + object_class->set_property = contact_set_property; + + g_object_class_install_property (object_class, + PROP_ID, + g_param_spec_string ("id", + "Contact id", + "String identifying contact", + NULL, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_NAME, + g_param_spec_string ("name", + "Contact Name", + "The name of the contact", + NULL, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_AVATAR, + g_param_spec_boxed ("avatar", + "Avatar image", + "The avatar image", + GOSSIP_TYPE_AVATAR, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_ACCOUNT, + g_param_spec_object ("account", + "Contact Account", + "The account associated with the contact", + MC_TYPE_ACCOUNT, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_PRESENCE, + g_param_spec_object ("presence", + "Contact presence", + "Presence of contact", + GOSSIP_TYPE_PRESENCE, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_GROUPS, + g_param_spec_pointer ("groups", + "Contact groups", + "Groups of contact", + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_SUBSCRIPTION, + g_param_spec_int ("subscription", + "Contact Subscription", + "The subscription status of the contact", + GOSSIP_SUBSCRIPTION_NONE, + GOSSIP_SUBSCRIPTION_BOTH, + GOSSIP_SUBSCRIPTION_NONE, + G_PARAM_READWRITE)); + + + g_object_class_install_property (object_class, + PROP_HANDLE, + g_param_spec_uint ("handle", + "Contact Handle", + "The handle of the contact", + 0, + G_MAXUINT, + 0, + G_PARAM_READWRITE)); + + g_type_class_add_private (object_class, sizeof (GossipContactPriv)); +} + +static void +contact_init (GossipContact *contact) +{ + GossipContactPriv *priv; + + priv = GET_PRIV (contact); + + priv->id = NULL; + priv->name = NULL; + priv->avatar = NULL; + priv->account = NULL; + priv->presence = NULL; + priv->groups = NULL; + priv->handle = 0; +} + +static void +contact_finalize (GObject *object) +{ + GossipContactPriv *priv; + + priv = GET_PRIV (object); + + gossip_debug (DEBUG_DOMAIN, "finalize: %p", object); + + g_free (priv->name); + g_free (priv->id); + + if (priv->avatar) { + gossip_avatar_unref (priv->avatar); + } + + if (priv->presence) { + g_object_unref (priv->presence); + } + + if (priv->groups) { + g_list_foreach (priv->groups, (GFunc) g_free, NULL); + g_list_free (priv->groups); + } + + if (priv->account) { + g_object_unref (priv->account); + } + + (G_OBJECT_CLASS (parent_class)->finalize) (object); +} + +static void +contact_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec) +{ + GossipContactPriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_ID: + g_value_set_string (value, + gossip_contact_get_id (GOSSIP_CONTACT (object))); + break; + case PROP_NAME: + g_value_set_string (value, + gossip_contact_get_name (GOSSIP_CONTACT (object))); + break; + case PROP_AVATAR: + g_value_set_boxed (value, priv->avatar); + break; + case PROP_ACCOUNT: + g_value_set_object (value, priv->account); + break; + case PROP_PRESENCE: + g_value_set_object (value, priv->presence); + break; + case PROP_GROUPS: + g_value_set_pointer (value, priv->groups); + break; + case PROP_SUBSCRIPTION: + g_value_set_int (value, priv->subscription); + break; + case PROP_HANDLE: + g_value_set_uint (value, priv->handle); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +static void +contact_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec) +{ + GossipContactPriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_ID: + gossip_contact_set_id (GOSSIP_CONTACT (object), + g_value_get_string (value)); + break; + case PROP_NAME: + gossip_contact_set_name (GOSSIP_CONTACT (object), + g_value_get_string (value)); + break; + case PROP_AVATAR: + gossip_contact_set_avatar (GOSSIP_CONTACT (object), + g_value_get_boxed (value)); + break; + case PROP_ACCOUNT: + gossip_contact_set_account (GOSSIP_CONTACT (object), + MC_ACCOUNT (g_value_get_object (value))); + break; + case PROP_PRESENCE: + gossip_contact_set_presence (GOSSIP_CONTACT (object), + GOSSIP_PRESENCE (g_value_get_object (value))); + break; + case PROP_GROUPS: + gossip_contact_set_groups (GOSSIP_CONTACT (object), + g_value_get_pointer (value)); + break; + case PROP_SUBSCRIPTION: + gossip_contact_set_subscription (GOSSIP_CONTACT (object), + g_value_get_int (value)); + break; + case PROP_HANDLE: + gossip_contact_set_handle (GOSSIP_CONTACT (object), + g_value_get_uint (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +GossipContact * +gossip_contact_new (McAccount *account) +{ + return g_object_new (GOSSIP_TYPE_CONTACT, + "account", account, + NULL); +} + +GossipContact * +gossip_contact_new_full (McAccount *account, + const gchar *id, + const gchar *name) +{ + return g_object_new (GOSSIP_TYPE_CONTACT, + "account", account, + "name", name, + "id", id, + NULL); +} + +const gchar * +gossip_contact_get_id (GossipContact *contact) +{ + GossipContactPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), ""); + + priv = GET_PRIV (contact); + + if (priv->id) { + return priv->id; + } + + return ""; +} + +const gchar * +gossip_contact_get_name (GossipContact *contact) +{ + GossipContactPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), ""); + + priv = GET_PRIV (contact); + + if (priv->name == NULL) { + return gossip_contact_get_id (contact); + } + + return priv->name; +} + +GossipAvatar * +gossip_contact_get_avatar (GossipContact *contact) +{ + GossipContactPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), NULL); + + priv = GET_PRIV (contact); + + return priv->avatar; +} + +McAccount * +gossip_contact_get_account (GossipContact *contact) +{ + GossipContactPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), NULL); + + priv = GET_PRIV (contact); + + return priv->account; +} + +GossipPresence * +gossip_contact_get_presence (GossipContact *contact) +{ + GossipContactPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), NULL); + + priv = GET_PRIV (contact); + + return priv->presence; +} + +GList * +gossip_contact_get_groups (GossipContact *contact) +{ + GossipContactPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), NULL); + + priv = GET_PRIV (contact); + + return priv->groups; +} + +GossipSubscription +gossip_contact_get_subscription (GossipContact *contact) +{ + GossipContactPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), + GOSSIP_SUBSCRIPTION_NONE); + + priv = GET_PRIV (contact); + + return priv->subscription; +} + +guint +gossip_contact_get_handle (GossipContact *contact) +{ + GossipContactPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), 0); + + priv = GET_PRIV (contact); + + return priv->handle; +} + +void +gossip_contact_set_id (GossipContact *contact, + const gchar *id) +{ + GossipContactPriv *priv; + + g_return_if_fail (GOSSIP_IS_CONTACT (contact)); + g_return_if_fail (id != NULL); + + priv = GET_PRIV (contact); + + g_free (priv->id); + priv->id = g_strdup (id); + + g_object_notify (G_OBJECT (contact), "id"); +} + +void +gossip_contact_set_name (GossipContact *contact, + const gchar *name) +{ + GossipContactPriv *priv; + + g_return_if_fail (GOSSIP_IS_CONTACT (contact)); + g_return_if_fail (name != NULL); + + priv = GET_PRIV (contact); + + g_free (priv->name); + priv->name = g_strdup (name); + + g_object_notify (G_OBJECT (contact), "name"); +} + +void +gossip_contact_set_avatar (GossipContact *contact, + GossipAvatar *avatar) +{ + GossipContactPriv *priv; + + g_return_if_fail (GOSSIP_IS_CONTACT (contact)); + + priv = GET_PRIV (contact); + + if (priv->avatar) { + gossip_avatar_unref (priv->avatar); + priv->avatar = NULL; + } + + if (avatar) { + priv->avatar = gossip_avatar_ref (avatar); + } + + g_object_notify (G_OBJECT (contact), "avatar"); +} + +void +gossip_contact_set_account (GossipContact *contact, + McAccount *account) +{ + GossipContactPriv *priv; + + g_return_if_fail (GOSSIP_IS_CONTACT (contact)); + g_return_if_fail (MC_IS_ACCOUNT (account)); + + priv = GET_PRIV (contact); + + if (priv->account) { + g_object_unref (priv->account); + } + priv->account = g_object_ref (account); + + g_object_notify (G_OBJECT (contact), "account"); +} + +void +gossip_contact_set_presence (GossipContact *contact, + GossipPresence *presence) +{ + GossipContactPriv *priv; + + g_return_if_fail (GOSSIP_IS_CONTACT (contact)); + + priv = GET_PRIV (contact); + + if (priv->presence) { + g_object_unref (priv->presence); + priv->presence = NULL; + } + + if (presence) { + priv->presence = g_object_ref (presence); + } + + g_object_notify (G_OBJECT (contact), "presence"); +} + +void +gossip_contact_set_groups (GossipContact *contact, + GList *groups) +{ + GossipContactPriv *priv; + GList *old_groups, *l; + + g_return_if_fail (GOSSIP_IS_CONTACT (contact)); + + priv = GET_PRIV (contact); + + old_groups = priv->groups; + priv->groups = NULL; + + for (l = groups; l; l = l->next) { + priv->groups = g_list_append (priv->groups, + g_strdup (l->data)); + } + + g_list_foreach (old_groups, (GFunc) g_free, NULL); + g_list_free (old_groups); + + g_object_notify (G_OBJECT (contact), "groups"); +} + +void +gossip_contact_set_subscription (GossipContact *contact, + GossipSubscription subscription) +{ + GossipContactPriv *priv; + + g_return_if_fail (GOSSIP_IS_CONTACT (contact)); + + priv = GET_PRIV (contact); + + priv->subscription = subscription; + + g_object_notify (G_OBJECT (contact), "subscription"); +} + +void +gossip_contact_set_handle (GossipContact *contact, + guint handle) +{ + GossipContactPriv *priv; + + priv = GET_PRIV (contact); + + priv->handle = handle; + + g_object_notify (G_OBJECT (contact), "handle"); +} + +gboolean +gossip_contact_is_online (GossipContact *contact) +{ + GossipContactPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), FALSE); + + priv = GET_PRIV (contact); + + return (priv->presence != NULL); +} + +gboolean +gossip_contact_is_in_group (GossipContact *contact, + const gchar *group) +{ + GossipContactPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), FALSE); + g_return_val_if_fail (!G_STR_EMPTY (group), FALSE); + + priv = GET_PRIV (contact); + + if (g_list_find_custom (priv->groups, group, (GCompareFunc) strcmp)) { + return TRUE; + } + + return FALSE; +} + +const gchar * +gossip_contact_get_status (GossipContact *contact) +{ + GossipContactPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), ""); + + priv = GET_PRIV (contact); + + if (priv->presence) { + const gchar *status; + + status = gossip_presence_get_status (priv->presence); + if (!status) { + McPresence state; + + state = gossip_presence_get_state (priv->presence); + status = gossip_presence_state_get_default_status (state); + } + + return status; + } + + return _("Offline"); +} + +GossipContact * +gossip_contact_get_user (GossipContact *contact) +{ + GossipContactPriv *priv; + EmpathyContactManager *manager; + GossipContact *user_contact; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (contact), NULL); + + priv = GET_PRIV (contact); + + manager = empathy_contact_manager_new (); + user_contact = empathy_contact_manager_get_user (manager, priv->account); + g_object_unref (manager); + + return user_contact; +} + +gboolean +gossip_contact_equal (gconstpointer v1, + gconstpointer v2) +{ + McAccount *account_a; + McAccount *account_b; + const gchar *id_a; + const gchar *id_b; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (v1), FALSE); + g_return_val_if_fail (GOSSIP_IS_CONTACT (v2), FALSE); + + account_a = gossip_contact_get_account (GOSSIP_CONTACT (v1)); + account_b = gossip_contact_get_account (GOSSIP_CONTACT (v2)); + + id_a = gossip_contact_get_id (GOSSIP_CONTACT (v1)); + id_b = gossip_contact_get_id (GOSSIP_CONTACT (v2)); + + return gossip_account_equal (account_a, account_b) && g_str_equal (id_a, id_b); +} + +guint +gossip_contact_hash (gconstpointer key) +{ + GossipContactPriv *priv; + guint hash; + + g_return_val_if_fail (GOSSIP_IS_CONTACT (key), +1); + + priv = GET_PRIV (GOSSIP_CONTACT (key)); + + hash = gossip_account_hash (gossip_contact_get_account (GOSSIP_CONTACT (key))); + hash += g_str_hash (gossip_contact_get_id (GOSSIP_CONTACT (key))); + + return hash; +} + diff --git a/trunk/libempathy/gossip-contact.h b/trunk/libempathy/gossip-contact.h new file mode 100644 index 000000000..3dc9bc76d --- /dev/null +++ b/trunk/libempathy/gossip-contact.h @@ -0,0 +1,100 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004 Imendio AB + * + * 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. + */ + +#ifndef __GOSSIP_CONTACT_H__ +#define __GOSSIP_CONTACT_H__ + +#include <glib-object.h> + +#include <libmissioncontrol/mc-account.h> + +#include "gossip-avatar.h" +#include "gossip-presence.h" + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_CONTACT (gossip_contact_get_gtype ()) +#define GOSSIP_CONTACT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_CONTACT, GossipContact)) +#define GOSSIP_CONTACT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOSSIP_TYPE_CONTACT, GossipContactClass)) +#define GOSSIP_IS_CONTACT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_CONTACT)) +#define GOSSIP_IS_CONTACT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_CONTACT)) +#define GOSSIP_CONTACT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_CONTACT, GossipContactClass)) + +typedef struct _GossipContact GossipContact; +typedef struct _GossipContactClass GossipContactClass; + +struct _GossipContact { + GObject parent; +}; + +struct _GossipContactClass { + GObjectClass parent_class; +}; + +typedef enum { + GOSSIP_SUBSCRIPTION_NONE = 0, + GOSSIP_SUBSCRIPTION_TO = 1 << 0, /* We send our presence to that contact */ + GOSSIP_SUBSCRIPTION_FROM = 1 << 1, /* That contact sends his presence to us */ + GOSSIP_SUBSCRIPTION_BOTH = GOSSIP_SUBSCRIPTION_TO | GOSSIP_SUBSCRIPTION_FROM +} GossipSubscription; + +GType gossip_contact_get_gtype (void) G_GNUC_CONST; + +GossipContact * gossip_contact_new (McAccount *account); +GossipContact * gossip_contact_new_full (McAccount *account, + const gchar *id, + const gchar *name); +const gchar * gossip_contact_get_id (GossipContact *contact); +const gchar * gossip_contact_get_name (GossipContact *contact); +GossipAvatar * gossip_contact_get_avatar (GossipContact *contact); +McAccount * gossip_contact_get_account (GossipContact *contact); +GossipPresence * gossip_contact_get_presence (GossipContact *contact); +GList * gossip_contact_get_groups (GossipContact *contact); +GossipSubscription gossip_contact_get_subscription (GossipContact *contact); +guint gossip_contact_get_handle (GossipContact *contact); +void gossip_contact_set_id (GossipContact *contact, + const gchar *id); +void gossip_contact_set_name (GossipContact *contact, + const gchar *name); +void gossip_contact_set_avatar (GossipContact *contact, + GossipAvatar *avatar); +void gossip_contact_set_account (GossipContact *contact, + McAccount *account); +void gossip_contact_set_presence (GossipContact *contact, + GossipPresence *presence); +void gossip_contact_set_groups (GossipContact *contact, + GList *categories); +void gossip_contact_set_subscription (GossipContact *contact, + GossipSubscription subscription); +void gossip_contact_set_handle (GossipContact *contact, + guint handle); +gboolean gossip_contact_is_online (GossipContact *contact); +gboolean gossip_contact_is_in_group (GossipContact *contact, + const gchar *group); +const gchar * gossip_contact_get_status (GossipContact *contact); +GossipContact * gossip_contact_get_user (GossipContact *contact); +gboolean gossip_contact_equal (gconstpointer v1, + gconstpointer v2); +guint gossip_contact_hash (gconstpointer key); + +G_END_DECLS + +#endif /* __GOSSIP_CONTACT_H__ */ + diff --git a/trunk/libempathy/gossip-debug.c b/trunk/libempathy/gossip-debug.c new file mode 100644 index 000000000..a6bbeea2a --- /dev/null +++ b/trunk/libempathy/gossip-debug.c @@ -0,0 +1,92 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006-2007 Imendio AB + * + * 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. + * + * Authors: Richard Hult <richard@imendio.com> + */ + +#include "config.h" + +#include <stdarg.h> +#include <string.h> + +#include <glib.h> +#include <glib/gprintf.h> + +/* Set EMPATHY_DEBUG to a colon/comma/space separated list of domains, or "all" + * to get all debug output. + */ + +#include "gossip-debug.h" + +static gchar **debug_strv; +static gboolean all_domains = FALSE; + +static void +debug_init (void) +{ + static gboolean inited = FALSE; + + if (!inited) { + const gchar *env; + gint i; + + env = g_getenv ("EMPATHY_DEBUG"); + + if (env) { + debug_strv = g_strsplit_set (env, ":, ", 0); + } else { + debug_strv = NULL; + } + + for (i = 0; debug_strv && debug_strv[i]; i++) { + if (strcmp ("all", debug_strv[i]) == 0) { + all_domains = TRUE; + } + } + + inited = TRUE; + } +} + +void +gossip_debug_impl (const gchar *domain, const gchar *msg, ...) +{ + gint i; + + g_return_if_fail (domain != NULL); + g_return_if_fail (msg != NULL); + + debug_init (); + + for (i = 0; debug_strv && debug_strv[i]; i++) { + if (all_domains || strcmp (domain, debug_strv[i]) == 0) { + va_list args; + + g_print ("%s: ", domain); + + va_start (args, msg); + g_vprintf (msg, args); + va_end (args); + + g_print ("\n"); + break; + } + } +} + diff --git a/trunk/libempathy/gossip-debug.h b/trunk/libempathy/gossip-debug.h new file mode 100644 index 000000000..39dae0f1c --- /dev/null +++ b/trunk/libempathy/gossip-debug.h @@ -0,0 +1,53 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006 Imendio AB + * + * 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. + */ + +#ifndef __GOSSIP_DEBUG_H__ +#define __GOSSIP_DEBUG_H__ + +#include <glib.h> + +G_BEGIN_DECLS + +#ifdef G_HAVE_ISO_VARARGS +# ifdef GOSSIP_DISABLE_DEBUG +# define gossip_debug(...) +# else +# define gossip_debug(...) gossip_debug_impl (__VA_ARGS__) +# endif +#elif defined(G_HAVE_GNUC_VARARGS) +# if GOSSIP_DISABLE_DEBUG +# define gossip_debug(fmt...) +# else +# define gossip_debug(fmt...) gossip_debug_impl(fmt) +# endif +#else +# if GOSSIP_DISABLE_DEBUG +# define gossip_debug(x) +# else +# define gossip_debug gossip_debug_impl +# endif +#endif + +void gossip_debug_impl (const gchar *domain, const gchar *msg, ...); + +G_END_DECLS + +#endif /* __GOSSIP_DEBUG_H__ */ + diff --git a/trunk/libempathy/gossip-message.c b/trunk/libempathy/gossip-message.c new file mode 100644 index 000000000..c4844e655 --- /dev/null +++ b/trunk/libempathy/gossip-message.c @@ -0,0 +1,370 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include "gossip-message.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_MESSAGE, GossipMessagePriv)) + +typedef struct _GossipMessagePriv GossipMessagePriv; + +struct _GossipMessagePriv { + GossipMessageType type; + GossipContact *sender; + gchar *body; + GossipTime timestamp; + +}; + +static void gossip_message_class_init (GossipMessageClass *class); +static void gossip_message_init (GossipMessage *message); +static void gossip_message_finalize (GObject *object); +static void message_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec); +static void message_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec); + +enum { + PROP_0, + PROP_TYPE, + PROP_SENDER, + PROP_BODY, + PROP_TIMESTAMP, +}; + +static gpointer parent_class = NULL; + +GType +gossip_message_get_gtype (void) +{ + static GType type = 0; + + if (!type) { + static const GTypeInfo info = { + sizeof (GossipMessageClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) gossip_message_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (GossipMessage), + 0, /* n_preallocs */ + (GInstanceInitFunc) gossip_message_init + }; + + type = g_type_register_static (G_TYPE_OBJECT, + "GossipMessage", + &info, 0); + } + + return type; +} + +static void +gossip_message_class_init (GossipMessageClass *class) +{ + GObjectClass *object_class; + + object_class = G_OBJECT_CLASS (class); + parent_class = g_type_class_peek_parent (class); + + object_class->finalize = gossip_message_finalize; + object_class->get_property = message_get_property; + object_class->set_property = message_set_property; + + g_object_class_install_property (object_class, + PROP_TYPE, + g_param_spec_int ("type", + "Message Type", + "The type of message", + GOSSIP_MESSAGE_TYPE_NORMAL, + GOSSIP_MESSAGE_TYPE_LAST, + GOSSIP_MESSAGE_TYPE_NORMAL, + G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + PROP_SENDER, + g_param_spec_object ("sender", + "Message Sender", + "The sender of the message", + GOSSIP_TYPE_CONTACT, + G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_BODY, + g_param_spec_string ("body", + "Message Body", + "The content of the message", + NULL, + G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + PROP_TIMESTAMP, + g_param_spec_long ("timestamp", + "timestamp", + "timestamp", + -1, + G_MAXLONG, + -1, + G_PARAM_READWRITE)); + + + g_type_class_add_private (object_class, sizeof (GossipMessagePriv)); + +} + +static void +gossip_message_init (GossipMessage *message) +{ + GossipMessagePriv *priv; + + priv = GET_PRIV (message); + + priv->type = GOSSIP_MESSAGE_TYPE_NORMAL; + priv->sender = NULL; + priv->body = NULL; + priv->timestamp = gossip_time_get_current (); +} + +static void +gossip_message_finalize (GObject *object) +{ + GossipMessagePriv *priv; + + priv = GET_PRIV (object); + + if (priv->sender) { + g_object_unref (priv->sender); + } + + g_free (priv->body); + + (G_OBJECT_CLASS (parent_class)->finalize) (object); +} + +static void +message_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec) +{ + GossipMessagePriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_TYPE: + g_value_set_int (value, priv->type); + break; + case PROP_SENDER: + g_value_set_object (value, priv->sender); + break; + case PROP_BODY: + g_value_set_string (value, priv->body); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +static void +message_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec) +{ + GossipMessagePriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_TYPE: + gossip_message_set_type (GOSSIP_MESSAGE (object), + g_value_get_int (value)); + break; + case PROP_SENDER: + gossip_message_set_sender (GOSSIP_MESSAGE (object), + GOSSIP_CONTACT (g_value_get_object (value))); + break; + case PROP_BODY: + gossip_message_set_body (GOSSIP_MESSAGE (object), + g_value_get_string (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + }; +} + +GossipMessage * +gossip_message_new (const gchar *body) +{ + return g_object_new (GOSSIP_TYPE_MESSAGE, + "body", body, + NULL); +} + +GossipMessageType +gossip_message_get_type (GossipMessage *message) +{ + GossipMessagePriv *priv; + + g_return_val_if_fail (GOSSIP_IS_MESSAGE (message), + GOSSIP_MESSAGE_TYPE_NORMAL); + + priv = GET_PRIV (message); + + return priv->type; +} + +void +gossip_message_set_type (GossipMessage *message, + GossipMessageType type) +{ + GossipMessagePriv *priv; + + g_return_if_fail (GOSSIP_IS_MESSAGE (message)); + + priv = GET_PRIV (message); + + priv->type = type; + + g_object_notify (G_OBJECT (message), "type"); +} + +GossipContact * +gossip_message_get_sender (GossipMessage *message) +{ + GossipMessagePriv *priv; + + g_return_val_if_fail (GOSSIP_IS_MESSAGE (message), NULL); + + priv = GET_PRIV (message); + + return priv->sender; +} + +void +gossip_message_set_sender (GossipMessage *message, GossipContact *contact) +{ + GossipMessagePriv *priv; + GossipContact *old_sender; + + g_return_if_fail (GOSSIP_IS_MESSAGE (message)); + g_return_if_fail (GOSSIP_IS_CONTACT (contact)); + + priv = GET_PRIV (message); + + old_sender = priv->sender; + priv->sender = g_object_ref (contact); + + if (old_sender) { + g_object_unref (old_sender); + } + + g_object_notify (G_OBJECT (message), "sender"); +} + +const gchar * +gossip_message_get_body (GossipMessage *message) +{ + GossipMessagePriv *priv; + + g_return_val_if_fail (GOSSIP_IS_MESSAGE (message), NULL); + + priv = GET_PRIV (message); + + return priv->body; +} + +void +gossip_message_set_body (GossipMessage *message, + const gchar *body) +{ + GossipMessagePriv *priv; + GossipMessageType type; + + g_return_if_fail (GOSSIP_IS_MESSAGE (message)); + + priv = GET_PRIV (message); + + g_free (priv->body); + priv->body = NULL; + + type = GOSSIP_MESSAGE_TYPE_NORMAL; + if (g_str_has_prefix (body, "/me")) { + type = GOSSIP_MESSAGE_TYPE_ACTION; + body += 4; + } + else if (g_str_has_prefix (body, "/say")) { + body += 5; + } + + if (body) { + priv->body = g_strdup (body); + } + + if (type != priv->type) { + gossip_message_set_type (message, type); + } + + g_object_notify (G_OBJECT (message), "body"); +} + +GossipTime +gossip_message_get_timestamp (GossipMessage *message) +{ + GossipMessagePriv *priv; + + g_return_val_if_fail (GOSSIP_IS_MESSAGE (message), -1); + + priv = GET_PRIV (message); + + return priv->timestamp; +} + +void +gossip_message_set_timestamp (GossipMessage *message, + GossipTime timestamp) +{ + GossipMessagePriv *priv; + + g_return_if_fail (GOSSIP_IS_MESSAGE (message)); + g_return_if_fail (timestamp >= -1); + + priv = GET_PRIV (message); + + if (timestamp <= 0) { + priv->timestamp = gossip_time_get_current (); + } else { + priv->timestamp = timestamp; + } + + g_object_notify (G_OBJECT (message), "timestamp"); +} + diff --git a/trunk/libempathy/gossip-message.h b/trunk/libempathy/gossip-message.h new file mode 100644 index 000000000..770ecfe1b --- /dev/null +++ b/trunk/libempathy/gossip-message.h @@ -0,0 +1,79 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_MESSAGE_H__ +#define __GOSSIP_MESSAGE_H__ + +#include <glib-object.h> + +#include "gossip-contact.h" +#include "gossip-time.h" + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_MESSAGE (gossip_message_get_gtype ()) +#define GOSSIP_MESSAGE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_MESSAGE, GossipMessage)) +#define GOSSIP_MESSAGE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOSSIP_TYPE_MESSAGE, GossipMessageClass)) +#define GOSSIP_IS_MESSAGE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_MESSAGE)) +#define GOSSIP_IS_MESSAGE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_MESSAGE)) +#define GOSSIP_MESSAGE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_MESSAGE, GossipMessageClass)) + +typedef struct _GossipMessage GossipMessage; +typedef struct _GossipMessageClass GossipMessageClass; + +struct _GossipMessage { + GObject parent; +}; + +struct _GossipMessageClass { + GObjectClass parent_class; +}; + +typedef enum { + GOSSIP_MESSAGE_TYPE_NORMAL, + GOSSIP_MESSAGE_TYPE_ACTION, + GOSSIP_MESSAGE_TYPE_NOTICE, + GOSSIP_MESSAGE_TYPE_AUTO_REPLY, + GOSSIP_MESSAGE_TYPE_LAST +} GossipMessageType; + +GType gossip_message_get_gtype (void) G_GNUC_CONST; +GossipMessage * gossip_message_new (const gchar *body); +GossipMessageType gossip_message_get_type (GossipMessage *message); +void gossip_message_set_type (GossipMessage *message, + GossipMessageType type); +GossipContact * gossip_message_get_sender (GossipMessage *message); +void gossip_message_set_sender (GossipMessage *message, + GossipContact *contact); +const gchar * gossip_message_get_body (GossipMessage *message); +void gossip_message_set_body (GossipMessage *message, + const gchar *body); +/* What return value should we have here? */ +GossipTime gossip_message_get_timestamp (GossipMessage *message); +void gossip_message_set_timestamp (GossipMessage *message, + GossipTime timestamp); + +G_END_DECLS + +#endif /* __GOSSIP_MESSAGE_H__ */ diff --git a/trunk/libempathy/gossip-paths.c b/trunk/libempathy/gossip-paths.c new file mode 100644 index 000000000..aa97bdcc7 --- /dev/null +++ b/trunk/libempathy/gossip-paths.c @@ -0,0 +1,51 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006-2007 Imendio AB + * + * This library 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 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 + * General Public License for more details. + * + * You should have received a copy of the GNU 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. + * + * Authors: Richard Hult <richard@imendio.com> + */ + +#include "config.h" + +#include "gossip-paths.h" + +#define EMPATHY "empathy" + +gchar * +gossip_paths_get_glade_path (const gchar *filename) +{ + return g_build_filename (DATADIR, EMPATHY, filename, NULL); +} + +gchar * +gossip_paths_get_image_path (const gchar *filename) +{ + return g_build_filename (DATADIR, EMPATHY, filename, NULL); +} + +gchar * +gossip_paths_get_dtd_path (const gchar *filename) +{ + return g_build_filename (DATADIR, EMPATHY, filename, NULL); +} + +gchar * +gossip_paths_get_locale_path () +{ + return g_strdup (LOCALEDIR); +} diff --git a/trunk/libempathy/gossip-paths.h b/trunk/libempathy/gossip-paths.h new file mode 100644 index 000000000..e00a33e28 --- /dev/null +++ b/trunk/libempathy/gossip-paths.h @@ -0,0 +1,36 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006 Imendio AB + * + * This library 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 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 + * General Public License for more details. + * + * You should have received a copy of the GNU 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. + */ + +#ifndef __GOSSIP_PATHS_H__ +#define __GOSSIP_PATHS_H__ + +#include <glib.h> + +G_BEGIN_DECLS + +gchar *gossip_paths_get_glade_path (const gchar *filename); +gchar *gossip_paths_get_image_path (const gchar *filename); +gchar *gossip_paths_get_dtd_path (const gchar *filename); +gchar *gossip_paths_get_sound_path (const gchar *filename); +gchar *gossip_paths_get_locale_path (void); + +G_END_DECLS + +#endif /* __GOSSIP_PATHS_H__ */ diff --git a/trunk/libempathy/gossip-presence.c b/trunk/libempathy/gossip-presence.c new file mode 100644 index 000000000..7add39669 --- /dev/null +++ b/trunk/libempathy/gossip-presence.c @@ -0,0 +1,337 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004-2007 Imendio AB + * + * 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. + * + * Authors: Mikael Hallendal <micke@imendio.com> + */ + +#include "config.h" + +#include <string.h> + +#include <glib/gi18n.h> + +#include "gossip-presence.h" +#include "gossip-time.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOSSIP_TYPE_PRESENCE, GossipPresencePriv)) + +typedef struct _GossipPresencePriv GossipPresencePriv; + +struct _GossipPresencePriv { + McPresence state; + gchar *status; + GossipTime timestamp; +}; + +static void presence_finalize (GObject *object); +static void presence_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec); +static void presence_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec); + +enum { + PROP_0, + PROP_STATE, + PROP_STATUS +}; + +G_DEFINE_TYPE (GossipPresence, gossip_presence, G_TYPE_OBJECT); + +static void +gossip_presence_class_init (GossipPresenceClass *class) +{ + GObjectClass *object_class; + + object_class = G_OBJECT_CLASS (class); + + object_class->finalize = presence_finalize; + object_class->get_property = presence_get_property; + object_class->set_property = presence_set_property; + + g_object_class_install_property (object_class, + PROP_STATE, + g_param_spec_int ("state", + "Presence State", + "The current state of the presence", + MC_PRESENCE_UNSET, + LAST_MC_PRESENCE, + MC_PRESENCE_AVAILABLE, + G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + PROP_STATUS, + g_param_spec_string ("status", + "Presence Status", + "Status string set on presence", + NULL, + G_PARAM_READWRITE)); + + g_type_class_add_private (object_class, sizeof (GossipPresencePriv)); +} + +static void +gossip_presence_init (GossipPresence *presence) +{ + GossipPresencePriv *priv; + + priv = GET_PRIV (presence); + + priv->state = MC_PRESENCE_AVAILABLE; + priv->status = NULL; + priv->timestamp = gossip_time_get_current (); +} + +static void +presence_finalize (GObject *object) +{ + GossipPresencePriv *priv; + + priv = GET_PRIV (object); + + g_free (priv->status); + + (G_OBJECT_CLASS (gossip_presence_parent_class)->finalize) (object); +} + +static void +presence_get_property (GObject *object, + guint param_id, + GValue *value, + GParamSpec *pspec) +{ + GossipPresencePriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_STATE: + g_value_set_int (value, priv->state); + break; + case PROP_STATUS: + g_value_set_string (value, + gossip_presence_get_status (GOSSIP_PRESENCE (object))); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + } +} +static void +presence_set_property (GObject *object, + guint param_id, + const GValue *value, + GParamSpec *pspec) +{ + GossipPresencePriv *priv; + + priv = GET_PRIV (object); + + switch (param_id) { + case PROP_STATE: + priv->state = g_value_get_int (value); + break; + case PROP_STATUS: + gossip_presence_set_status (GOSSIP_PRESENCE (object), + g_value_get_string (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; + } +} + +GossipPresence * +gossip_presence_new (void) +{ + return g_object_new (GOSSIP_TYPE_PRESENCE, NULL); +} + +GossipPresence * +gossip_presence_new_full (McPresence state, + const gchar *status) +{ + return g_object_new (GOSSIP_TYPE_PRESENCE, + "state", state, + "status", status, + NULL); +} + +const gchar * +gossip_presence_get_status (GossipPresence *presence) +{ + GossipPresencePriv *priv; + + g_return_val_if_fail (GOSSIP_IS_PRESENCE (presence), + _("Offline")); + + priv = GET_PRIV (presence); + + return priv->status; +} + +McPresence +gossip_presence_get_state (GossipPresence *presence) +{ + GossipPresencePriv *priv; + + g_return_val_if_fail (GOSSIP_IS_PRESENCE (presence), + MC_PRESENCE_AVAILABLE); + + priv = GET_PRIV (presence); + + return priv->state; +} + +void +gossip_presence_set_state (GossipPresence *presence, + McPresence state) +{ + GossipPresencePriv *priv; + + g_return_if_fail (GOSSIP_IS_PRESENCE (presence)); + + priv = GET_PRIV (presence); + + priv->state = state; + + g_object_notify (G_OBJECT (presence), "state"); +} + +void +gossip_presence_set_status (GossipPresence *presence, + const gchar *status) +{ + GossipPresencePriv *priv; + + priv = GET_PRIV (presence); + g_return_if_fail (GOSSIP_IS_PRESENCE (presence)); + + g_free (priv->status); + + if (status) { + priv->status = g_strdup (status); + } else { + priv->status = NULL; + } + + g_object_notify (G_OBJECT (presence), "status"); +} + +gint +gossip_presence_sort_func (gconstpointer a, + gconstpointer b) +{ + GossipPresencePriv *priv_a; + GossipPresencePriv *priv_b; + gint diff; + + g_return_val_if_fail (GOSSIP_IS_PRESENCE (a), 0); + g_return_val_if_fail (GOSSIP_IS_PRESENCE (b), 0); + + priv_a = GET_PRIV (a); + priv_b = GET_PRIV (b); + + /* 1. State */ + diff = priv_a->state - priv_b->state; + if (diff != 0) { + return diff < 1 ? -1 : +1; + } + + /* 3. Time (newest first) */ + diff = priv_b->timestamp - priv_a->timestamp; + if (diff != 0) { + return diff < 1 ? -1 : +1; + } + + /* No real difference */ + return 0; +} + +const gchar * +gossip_presence_state_get_default_status (McPresence state) +{ + switch (state) { + case MC_PRESENCE_AVAILABLE: + return _("Available"); + case MC_PRESENCE_DO_NOT_DISTURB: + return _("Busy"); + case MC_PRESENCE_AWAY: + case MC_PRESENCE_EXTENDED_AWAY: + return _("Away"); + case MC_PRESENCE_HIDDEN: + case MC_PRESENCE_OFFLINE: + case MC_PRESENCE_UNSET: + return _("Offline"); + default: + g_assert_not_reached (); + } + + return NULL; +} + +const gchar * +gossip_presence_state_to_str (McPresence state) +{ + switch (state) { + case MC_PRESENCE_AVAILABLE: + return "available"; + case MC_PRESENCE_DO_NOT_DISTURB: + return "busy"; + case MC_PRESENCE_AWAY: + return "away"; + case MC_PRESENCE_EXTENDED_AWAY: + return "ext_away"; + case MC_PRESENCE_HIDDEN: + return "hidden"; + case MC_PRESENCE_OFFLINE: + return "offline"; + case MC_PRESENCE_UNSET: + return "unset"; + default: + g_assert_not_reached (); + } + + return NULL; +} + +McPresence +gossip_presence_state_from_str (const gchar *str) +{ + if (strcmp (str, "available") == 0) { + return MC_PRESENCE_AVAILABLE; + } else if ((strcmp (str, "dnd") == 0) || (strcmp (str, "busy") == 0)) { + return MC_PRESENCE_DO_NOT_DISTURB; + } else if ((strcmp (str, "away") == 0) || (strcmp (str, "brb") == 0)) { + return MC_PRESENCE_AWAY; + } else if ((strcmp (str, "xa") == 0) || (strcmp (str, "ext_away") == 0)) { + return MC_PRESENCE_EXTENDED_AWAY; + } else if (strcmp (str, "hidden") == 0) { + return MC_PRESENCE_HIDDEN; + } else if (strcmp (str, "offline") == 0) { + return MC_PRESENCE_OFFLINE; + } else if (strcmp (str, "unset") == 0) { + return MC_PRESENCE_UNSET; + } + + return MC_PRESENCE_AVAILABLE; +} + diff --git a/trunk/libempathy/gossip-presence.h b/trunk/libempathy/gossip-presence.h new file mode 100644 index 000000000..0029906f3 --- /dev/null +++ b/trunk/libempathy/gossip-presence.h @@ -0,0 +1,67 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004 Imendio AB + * + * 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. + */ + +#ifndef __GOSSIP_PRESENCE_H__ +#define __GOSSIP_PRESENCE_H__ + +#include <glib-object.h> +#include <libmissioncontrol/mission-control.h> + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_PRESENCE (gossip_presence_get_type ()) +#define GOSSIP_PRESENCE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_PRESENCE, GossipPresence)) +#define GOSSIP_PRESENCE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOSSIP_TYPE_PRESENCE, GossipPresenceClass)) +#define GOSSIP_IS_PRESENCE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_PRESENCE)) +#define GOSSIP_IS_PRESENCE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_PRESENCE)) +#define GOSSIP_PRESENCE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_PRESENCE, GossipPresenceClass)) + +typedef struct _GossipPresence GossipPresence; +typedef struct _GossipPresenceClass GossipPresenceClass; + +struct _GossipPresence { + GObject parent; +}; + +struct _GossipPresenceClass { + GObjectClass parent_class; +}; + +GType gossip_presence_get_type (void) G_GNUC_CONST; + +GossipPresence * gossip_presence_new (void); +GossipPresence * gossip_presence_new_full (McPresence state, + const gchar *status); +McPresence gossip_presence_get_state (GossipPresence *presence); +const gchar * gossip_presence_get_status (GossipPresence *presence); +void gossip_presence_set_state (GossipPresence *presence, + McPresence state); +void gossip_presence_set_status (GossipPresence *presence, + const gchar *status); +gint gossip_presence_sort_func (gconstpointer a, + gconstpointer b); +const gchar * gossip_presence_state_get_default_status (McPresence state); +const gchar * gossip_presence_state_to_str (McPresence state); +McPresence gossip_presence_state_from_str (const gchar *str); + +G_END_DECLS + +#endif /* __GOSSIP_PRESENCE_H__ */ + diff --git a/trunk/libempathy/gossip-telepathy-group.c b/trunk/libempathy/gossip-telepathy-group.c new file mode 100644 index 000000000..5d6bff670 --- /dev/null +++ b/trunk/libempathy/gossip-telepathy-group.c @@ -0,0 +1,543 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006 Xavier Claessens <xclaesse@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; 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. + */ + +#include <config.h> + +#include <dbus/dbus-glib.h> +#include <libtelepathy/tp-chan.h> +#include <libtelepathy/tp-chan-iface-group-gen.h> +#include <libtelepathy/tp-constants.h> +#include <libtelepathy/tp-conn.h> + +#include "gossip-debug.h" +#include "gossip-telepathy-group.h" +#include "empathy-marshal.h" + +#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \ + GOSSIP_TYPE_TELEPATHY_GROUP, GossipTelepathyGroupPriv)) + +#define DEBUG_DOMAIN "TelepathyGroup" + +struct _GossipTelepathyGroupPriv { + DBusGProxy *group_iface; + TpConn *tp_conn; + TpChan *tp_chan; + gchar *group_name; +}; + +static void gossip_telepathy_group_class_init (GossipTelepathyGroupClass *klass); +static void gossip_telepathy_group_init (GossipTelepathyGroup *group); +static void telepathy_group_finalize (GObject *object); +static void telepathy_group_destroy_cb (DBusGProxy *proxy, + GossipTelepathyGroup *group); +static void telepathy_group_members_changed_cb (DBusGProxy *group_iface, + gchar *message, + GArray *added, + GArray *removed, + GArray *local_pending, + GArray *remote_pending, + guint actor, + guint reason, + GossipTelepathyGroup *group); + +enum { + MEMBERS_ADDED, + MEMBERS_REMOVED, + LOCAL_PENDING, + REMOTE_PENDING, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL]; + +G_DEFINE_TYPE (GossipTelepathyGroup, gossip_telepathy_group, G_TYPE_OBJECT); + +static void +gossip_telepathy_group_class_init (GossipTelepathyGroupClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = telepathy_group_finalize; + + signals[MEMBERS_ADDED] = + g_signal_new ("members-added", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + empathy_marshal_VOID__POINTER_UINT_UINT_STRING, + G_TYPE_NONE, + 4, G_TYPE_POINTER, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_STRING); + + signals[MEMBERS_REMOVED] = + g_signal_new ("members-removed", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + empathy_marshal_VOID__POINTER_UINT_UINT_STRING, + G_TYPE_NONE, + 4, G_TYPE_POINTER, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_STRING); + + signals[LOCAL_PENDING] = + g_signal_new ("local-pending", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + empathy_marshal_VOID__POINTER_UINT_UINT_STRING, + G_TYPE_NONE, + 4, G_TYPE_POINTER, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_STRING); + + signals[REMOTE_PENDING] = + g_signal_new ("remote-pending", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + empathy_marshal_VOID__POINTER_UINT_UINT_STRING, + G_TYPE_NONE, + 4, G_TYPE_POINTER, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_STRING); + + g_type_class_add_private (object_class, sizeof (GossipTelepathyGroupPriv)); +} + +static void +gossip_telepathy_group_init (GossipTelepathyGroup *group) +{ +} + +static void +telepathy_group_finalize (GObject *object) +{ + GossipTelepathyGroupPriv *priv; + + priv = GET_PRIV (object); + + if (priv->group_iface) { + g_signal_handlers_disconnect_by_func (priv->group_iface, + telepathy_group_destroy_cb, + object); + dbus_g_proxy_disconnect_signal (priv->group_iface, "MembersChanged", + G_CALLBACK (telepathy_group_members_changed_cb), + object); + g_object_unref (priv->group_iface); + } + + if (priv->tp_conn) { + g_object_unref (priv->tp_conn); + } + + if (priv->tp_chan) { + g_object_unref (priv->tp_chan); + } + + g_free (priv->group_name); + + G_OBJECT_CLASS (gossip_telepathy_group_parent_class)->finalize (object); +} + +GossipTelepathyGroup * +gossip_telepathy_group_new (TpChan *tp_chan, + TpConn *tp_conn) +{ + GossipTelepathyGroup *group; + GossipTelepathyGroupPriv *priv; + DBusGProxy *group_iface; + + g_return_val_if_fail (TELEPATHY_IS_CHAN (tp_chan), NULL); + + group_iface = tp_chan_get_interface (tp_chan, + TELEPATHY_CHAN_IFACE_GROUP_QUARK); + g_return_val_if_fail (group_iface != NULL, NULL); + + group = g_object_new (GOSSIP_TYPE_TELEPATHY_GROUP, NULL); + priv = GET_PRIV (group); + + priv->tp_conn = g_object_ref (tp_conn); + priv->tp_chan = g_object_ref (tp_chan); + priv->group_iface = g_object_ref (group_iface); + + dbus_g_proxy_connect_signal (priv->group_iface, "MembersChanged", + G_CALLBACK (telepathy_group_members_changed_cb), + group, NULL); + g_signal_connect (group_iface, "destroy", + G_CALLBACK (telepathy_group_destroy_cb), + group); + + + return group; +} + +void +gossip_telepathy_group_add_members (GossipTelepathyGroup *group, + GArray *handles, + const gchar *message) +{ + GossipTelepathyGroupPriv *priv; + GError *error = NULL; + + g_return_if_fail (GOSSIP_IS_TELEPATHY_GROUP (group)); + g_return_if_fail (handles != NULL); + + priv = GET_PRIV (group); + + if (!tp_chan_iface_group_add_members (priv->group_iface, + handles, + message, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Failed to add members: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + } +} + +void +gossip_telepathy_group_add_member (GossipTelepathyGroup *group, + guint handle, + const gchar *message) +{ + GArray *handles; + + handles = g_array_new (FALSE, FALSE, sizeof (guint)); + g_array_append_val (handles, handle); + + gossip_telepathy_group_add_members (group, handles, message); + + g_array_free (handles, TRUE); +} + +void +gossip_telepathy_group_remove_members (GossipTelepathyGroup *group, + GArray *handles, + const gchar *message) +{ + GossipTelepathyGroupPriv *priv; + GError *error = NULL; + + g_return_if_fail (GOSSIP_IS_TELEPATHY_GROUP (group)); + + priv = GET_PRIV (group); + + if (!tp_chan_iface_group_remove_members (priv->group_iface, + handles, + message, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Failed to remove members: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + } +} + +void +gossip_telepathy_group_remove_member (GossipTelepathyGroup *group, + guint handle, + const gchar *message) +{ + GArray *handles; + + g_return_if_fail (GOSSIP_IS_TELEPATHY_GROUP (group)); + + handles = g_array_new (FALSE, FALSE, sizeof (guint)); + g_array_append_val (handles, handle); + + gossip_telepathy_group_remove_members (group, handles, message); + + g_array_free (handles, TRUE); +} + +GArray * +gossip_telepathy_group_get_members (GossipTelepathyGroup *group) +{ + GossipTelepathyGroupPriv *priv; + GArray *members; + GError *error = NULL; + + g_return_val_if_fail (GOSSIP_IS_TELEPATHY_GROUP (group), NULL); + + priv = GET_PRIV (group); + + if (!tp_chan_iface_group_get_members (priv->group_iface, + &members, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Couldn't get members: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + return NULL; + } + + return members; +} + +void +gossip_telepathy_group_get_all_members (GossipTelepathyGroup *group, + GArray **members, + GArray **local_pending, + GArray **remote_pending) +{ + GossipTelepathyGroupPriv *priv; + GError *error = NULL; + + g_return_if_fail (GOSSIP_IS_TELEPATHY_GROUP (group)); + + priv = GET_PRIV (group); + + if (!tp_chan_iface_group_get_all_members (priv->group_iface, + members, + local_pending, + remote_pending, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Couldn't get all members: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + } +} + +GList * +gossip_telepathy_group_get_local_pending_members_with_info (GossipTelepathyGroup *group) +{ + GossipTelepathyGroupPriv *priv; + GPtrArray *array; + guint i; + GList *infos = NULL; + GError *error = NULL; + + g_return_val_if_fail (GOSSIP_IS_TELEPATHY_GROUP (group), NULL); + + priv = GET_PRIV (group); + + if (!tp_chan_iface_group_get_local_pending_members_with_info (priv->group_iface, + &array, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "GetLocalPendingMembersWithInfo failed: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + + return NULL; + } + + if (!array) { + /* This happens with butterfly because + * GetLocalPendingMembersWithInfo is not + * implemented */ + return NULL; + } + + for (i = 0; array->len > i; i++) { + GValueArray *pending_struct; + GossipTpGroupInfo *info; + const gchar *message; + + info = g_slice_new (GossipTpGroupInfo); + + pending_struct = g_ptr_array_index (array, i); + info->member = g_value_get_uint (g_value_array_get_nth (pending_struct, 0)); + info->actor = g_value_get_uint (g_value_array_get_nth (pending_struct, 1)); + info->reason = g_value_get_uint (g_value_array_get_nth (pending_struct, 2)); + message = g_value_get_string (g_value_array_get_nth (pending_struct, 3)); + info->message = g_strdup (message); + g_value_array_free (pending_struct); + + infos = g_list_prepend (infos, info); + } + g_ptr_array_free (array, TRUE); + + return infos; +} + +void +gossip_telepathy_group_info_list_free (GList *infos) +{ + GList *l; + + for (l = infos; l; l = l->next) { + GossipTpGroupInfo *info; + + info = l->data; + + g_free (info->message); + g_slice_free (GossipTpGroupInfo, info); + } + g_list_free (infos); +} + + +static void +telepathy_group_destroy_cb (DBusGProxy *proxy, + GossipTelepathyGroup *group) +{ + GossipTelepathyGroupPriv *priv; + + priv = GET_PRIV (group); + + g_object_unref (priv->group_iface); + g_object_unref (priv->tp_conn); + g_object_unref (priv->tp_chan); + priv->group_iface = NULL; + priv->tp_chan = NULL; + priv->tp_conn = NULL; +} + +static void +telepathy_group_members_changed_cb (DBusGProxy *group_iface, + gchar *message, + GArray *added, + GArray *removed, + GArray *local_pending, + GArray *remote_pending, + guint actor, + guint reason, + GossipTelepathyGroup *group) +{ + GossipTelepathyGroupPriv *priv; + + priv = GET_PRIV (group); + + /* emit signals */ + if (added->len > 0) { + g_signal_emit (group, signals[MEMBERS_ADDED], 0, + added, actor, reason, message); + } + if (removed->len > 0) { + g_signal_emit (group, signals[MEMBERS_REMOVED], 0, + removed, actor, reason, message); + } + if (local_pending->len > 0) { + g_signal_emit (group, signals[LOCAL_PENDING], 0, + local_pending, actor, reason, message); + } + if (remote_pending->len > 0) { + g_signal_emit (group, signals[REMOTE_PENDING], 0, + remote_pending, actor, reason, message); + } +} + +const gchar * +gossip_telepathy_group_get_name (GossipTelepathyGroup *group) +{ + TelepathyHandleType handle_type; + guint channel_handle; + GArray *group_handles; + gchar **group_names; + GError *error = NULL; + + GossipTelepathyGroupPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_TELEPATHY_GROUP (group), NULL); + + priv = GET_PRIV (group); + + /* Lazy initialisation */ + if (priv->group_name) { + return priv->group_name; + } + + if (!tp_chan_get_handle (DBUS_G_PROXY (priv->tp_chan), + &handle_type, + &channel_handle, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Couldn't retreive channel handle for group: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + return NULL; + } + + group_handles = g_array_new (FALSE, FALSE, sizeof (guint)); + g_array_append_val (group_handles, channel_handle); + if (!tp_conn_inspect_handles (DBUS_G_PROXY (priv->tp_conn), + handle_type, + group_handles, + &group_names, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Couldn't get group name: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + g_array_free (group_handles, TRUE); + return NULL; + } + + priv->group_name = *group_names; + g_array_free (group_handles, TRUE); + g_free (group_names); + + return priv->group_name; +} + +guint +gossip_telepathy_group_get_self_handle (GossipTelepathyGroup *group) +{ + GossipTelepathyGroupPriv *priv; + guint handle; + GError *error = NULL; + + g_return_val_if_fail (GOSSIP_IS_TELEPATHY_GROUP (group), 0 ); + + priv = GET_PRIV (group); + + if (!tp_chan_iface_group_get_self_handle (priv->group_iface, &handle, &error)) { + gossip_debug (DEBUG_DOMAIN, + "Failed to get self handle: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + return 0; + } + + return handle; +} + +const gchar * +gossip_telepathy_group_get_object_path (GossipTelepathyGroup *group) +{ + GossipTelepathyGroupPriv *priv; + + g_return_val_if_fail (GOSSIP_IS_TELEPATHY_GROUP (group), NULL); + + priv = GET_PRIV (group); + + return dbus_g_proxy_get_path (DBUS_G_PROXY (priv->tp_chan)); +} + +gboolean +gossip_telepathy_group_is_member (GossipTelepathyGroup *group, + guint handle) +{ + GArray *members; + guint i; + gboolean found = FALSE; + + members = gossip_telepathy_group_get_members (group); + for (i = 0; i < members->len; i++) { + if (g_array_index (members, guint, i) == handle) { + found = TRUE; + break; + } + } + g_array_free (members, TRUE); + + return found; +} + diff --git a/trunk/libempathy/gossip-telepathy-group.h b/trunk/libempathy/gossip-telepathy-group.h new file mode 100644 index 000000000..17b96de2e --- /dev/null +++ b/trunk/libempathy/gossip-telepathy-group.h @@ -0,0 +1,87 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2006 Xavier Claessens <xclaesse@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; 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. + */ + +#ifndef __GOSSIP_TELEPATHY_GROUP_H__ +#define __GOSSIP_TELEPATHY_GROUP_H__ + +#include <glib.h> + +#include <libtelepathy/tp-chan.h> + +G_BEGIN_DECLS + +#define GOSSIP_TYPE_TELEPATHY_GROUP (gossip_telepathy_group_get_type ()) +#define GOSSIP_TELEPATHY_GROUP(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOSSIP_TYPE_TELEPATHY_GROUP, GossipTelepathyGroup)) +#define GOSSIP_TELEPATHY_GROUP_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GOSSIP_TYPE_TELEPATHY_GROUP, GossipTelepathyGroupClass)) +#define GOSSIP_IS_TELEPATHY_GROUP(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOSSIP_TYPE_TELEPATHY_GROUP)) +#define GOSSIP_IS_TELEPATHY_GROUP_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOSSIP_TYPE_TELEPATHY_GROUP)) +#define GOSSIP_TELEPATHY_GROUP_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOSSIP_TYPE_TELEPATHY_GROUP, GossipTelepathyGroupClass)) + +typedef struct _GossipTelepathyGroup GossipTelepathyGroup; +typedef struct _GossipTelepathyGroupClass GossipTelepathyGroupClass; +typedef struct _GossipTelepathyGroupPriv GossipTelepathyGroupPriv; + +struct _GossipTelepathyGroup { + GObject parent; +}; + +struct _GossipTelepathyGroupClass { + GObjectClass parent_class; +}; + +typedef struct { + guint member; + guint actor; + guint reason; + gchar *message; +} GossipTpGroupInfo; + +GType gossip_telepathy_group_get_type (void) G_GNUC_CONST; +GossipTelepathyGroup *gossip_telepathy_group_new (TpChan *tp_chan, + TpConn *tp_conn); +void gossip_telepathy_group_add_members (GossipTelepathyGroup *group, + GArray *handles, + const gchar *message); +void gossip_telepathy_group_add_member (GossipTelepathyGroup *group, + guint handle, + const gchar *message); +void gossip_telepathy_group_remove_members (GossipTelepathyGroup *group, + GArray *handle, + const gchar *message); +void gossip_telepathy_group_remove_member (GossipTelepathyGroup *group, + guint handle, + const gchar *message); +GArray * gossip_telepathy_group_get_members (GossipTelepathyGroup *group); +void gossip_telepathy_group_get_all_members (GossipTelepathyGroup *group, + GArray **members, + GArray **local_pending, + GArray **remote_pending); +GList * gossip_telepathy_group_get_local_pending_members_with_info + (GossipTelepathyGroup *group); +void gossip_telepathy_group_info_list_free (GList *infos); +const gchar * gossip_telepathy_group_get_name (GossipTelepathyGroup *group); +guint gossip_telepathy_group_get_self_handle (GossipTelepathyGroup *group); +const gchar * gossip_telepathy_group_get_object_path (GossipTelepathyGroup *group); +gboolean gossip_telepathy_group_is_member (GossipTelepathyGroup *group, + guint handle); + +G_END_DECLS + +#endif /* __GOSSIP_TELEPATHY_GROUP_H__ */ diff --git a/trunk/libempathy/gossip-time.c b/trunk/libempathy/gossip-time.c new file mode 100644 index 000000000..a1956354e --- /dev/null +++ b/trunk/libempathy/gossip-time.c @@ -0,0 +1,124 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2003-2007 Imendio AB + * + * 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. + * + * Authors: Richard Hult <richard@imendio.com> + */ + +#include "config.h" + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "gossip-time.h" + +/* Note: GossipTime is always in UTC. */ + +GossipTime +gossip_time_get_current (void) +{ + return time (NULL); +} + +time_t +gossip_time_get_local_time (struct tm *tm) +{ + const gchar *timezone; + time_t t; + + timezone = g_getenv ("TZ"); + g_setenv ("TZ", "", TRUE); + + tzset (); + + t = mktime (tm); + + if (timezone) { + g_setenv ("TZ", timezone, TRUE); + } else { + g_unsetenv ("TZ"); + } + + tzset (); + + return t; +} + +/* The format is: "20021209T23:51:30" and is in UTC. 0 is returned on + * failure. The alternative format "20021209" is also accepted. + */ +GossipTime +gossip_time_parse (const gchar *str) +{ + struct tm tm; + gint year, month; + gint n_parsed; + + memset (&tm, 0, sizeof (struct tm)); + + n_parsed = sscanf (str, "%4d%2d%2dT%2d:%2d:%2d", + &year, &month, &tm.tm_mday, &tm.tm_hour, + &tm.tm_min, &tm.tm_sec); + if (n_parsed != 3 && n_parsed != 6) { + return 0; + } + + tm.tm_year = year - 1900; + tm.tm_mon = month - 1; + tm.tm_isdst = -1; + + return gossip_time_get_local_time (&tm); +} + +/* Converts the UTC timestamp to a string, also in UTC. Returns NULL on failure. */ +gchar * +gossip_time_to_string_utc (GossipTime t, + const gchar *format) +{ + gchar stamp[128]; + struct tm *tm; + + g_return_val_if_fail (format != NULL, NULL); + + tm = gmtime (&t); + if (strftime (stamp, sizeof (stamp), format, tm) == 0) { + return NULL; + } + + return g_strdup (stamp); +} + +/* Converts the UTC timestamp to a string, in local time. Returns NULL on failure. */ +gchar * +gossip_time_to_string_local (GossipTime t, + const gchar *format) +{ + gchar stamp[128]; + struct tm *tm; + + g_return_val_if_fail (format != NULL, NULL); + + tm = localtime (&t); + if (strftime (stamp, sizeof (stamp), format, tm) == 0) { + return NULL; + } + + return g_strdup (stamp); +} + diff --git a/trunk/libempathy/gossip-time.h b/trunk/libempathy/gossip-time.h new file mode 100644 index 000000000..06057aa52 --- /dev/null +++ b/trunk/libempathy/gossip-time.h @@ -0,0 +1,50 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2004 Imendio AB + * + * 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. + */ + +#ifndef __GOSSIP_TIME_H__ +#define __GOSSIP_TIME_H__ + +#define __USE_XOPEN +#include <time.h> + +#include <glib.h> + +G_BEGIN_DECLS + +#define GOSSIP_TIME_FORMAT_DISPLAY_SHORT "%H:%M" +#define GOSSIP_TIME_FORMAT_DISPLAY_LONG "%a %d %b %Y" + +/* Note: Always in UTC. */ +typedef long GossipTime; + +GossipTime gossip_time_get_current (void); +time_t gossip_time_get_local_time (struct tm *tm); +GossipTime gossip_time_parse (const gchar *str); +GossipTime gossip_time_parse_format (const gchar *str, + const gchar *format); +gchar *gossip_time_to_string_utc (GossipTime t, + const gchar *format); +gchar *gossip_time_to_string_local (GossipTime t, + const gchar *format); + +G_END_DECLS + +#endif /* __GOSSIP_TIME_H__ */ + diff --git a/trunk/libempathy/gossip-utils.c b/trunk/libempathy/gossip-utils.c new file mode 100644 index 000000000..579981616 --- /dev/null +++ b/trunk/libempathy/gossip-utils.c @@ -0,0 +1,496 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2003-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#include "config.h" + +#include <string.h> +#include <time.h> +#include <sys/types.h> +#include <regex.h> + +#include <glib/gi18n.h> + +#include <libxml/uri.h> +#include <libtelepathy/tp-helpers.h> + +#include "gossip-debug.h" +#include "gossip-utils.h" +#include "gossip-paths.h" +#include "empathy-contact-manager.h" + +#define DEBUG_DOMAIN "Utils" + +static void regex_init (void); + +gchar * +gossip_substring (const gchar *str, + gint start, + gint end) +{ + return g_strndup (str + start, end - start); +} + +/* + * Regular Expression code to match urls. + */ +#define USERCHARS "-A-Za-z0-9" +#define PASSCHARS "-A-Za-z0-9,?;.:/!%$^*&~\"#'" +#define HOSTCHARS "-A-Za-z0-9" +#define PATHCHARS "-A-Za-z0-9_$.+!*(),;:@&=?/~#%" +#define SCHEME "(news:|telnet:|nntp:|file:/|https?:|ftps?:|webcal:)" +#define USER "[" USERCHARS "]+(:["PASSCHARS "]+)?" +#define URLPATH "/[" PATHCHARS "]*[^]'.}>) \t\r\n,\\\"]" + +static regex_t dingus[GOSSIP_REGEX_ALL]; + +static void +regex_init (void) +{ + static gboolean inited = FALSE; + const gchar *expression; + gint i; + + if (inited) { + return; + } + + for (i = 0; i < GOSSIP_REGEX_ALL; i++) { + switch (i) { + case GOSSIP_REGEX_AS_IS: + expression = + SCHEME "//(" USER "@)?[" HOSTCHARS ".]+" + "(:[0-9]+)?(" URLPATH ")?"; + break; + case GOSSIP_REGEX_BROWSER: + expression = + "(www|ftp)[" HOSTCHARS "]*\\.[" HOSTCHARS ".]+" + "(:[0-9]+)?(" URLPATH ")?"; + break; + case GOSSIP_REGEX_EMAIL: + expression = + "(mailto:)?[a-z0-9][a-z0-9.-]*@[a-z0-9]" + "[a-z0-9-]*(\\.[a-z0-9][a-z0-9-]*)+"; + break; + case GOSSIP_REGEX_OTHER: + expression = + "news:[-A-Z\\^_a-z{|}~!\"#$%&'()*+,./0-9;:=?`]+" + "@[" HOSTCHARS ".]+(:[0-9]+)?"; + break; + default: + /* Silence the compiler. */ + expression = NULL; + continue; + } + + memset (&dingus[i], 0, sizeof (regex_t)); + regcomp (&dingus[i], expression, REG_EXTENDED | REG_ICASE); + } + + inited = TRUE; +} + +gint +gossip_regex_match (GossipRegExType type, + const gchar *msg, + GArray *start, + GArray *end) +{ + regmatch_t matches[1]; + gint ret = 0; + gint num_matches = 0; + gint offset = 0; + gint i; + + g_return_val_if_fail (type >= 0 || type <= GOSSIP_REGEX_ALL, 0); + + regex_init (); + + while (!ret && type != GOSSIP_REGEX_ALL) { + ret = regexec (&dingus[type], msg + offset, 1, matches, 0); + if (ret == 0) { + gint s; + + num_matches++; + + s = matches[0].rm_so + offset; + offset = matches[0].rm_eo + offset; + + g_array_append_val (start, s); + g_array_append_val (end, offset); + } + } + + if (type != GOSSIP_REGEX_ALL) { + gossip_debug (DEBUG_DOMAIN, + "Found %d matches for regex type:%d", + num_matches, type); + return num_matches; + } + + /* If GOSSIP_REGEX_ALL then we run ALL regex's on the string. */ + for (i = 0; i < GOSSIP_REGEX_ALL; i++, ret = 0) { + while (!ret) { + ret = regexec (&dingus[i], msg + offset, 1, matches, 0); + if (ret == 0) { + gint s; + + num_matches++; + + s = matches[0].rm_so + offset; + offset = matches[0].rm_eo + offset; + + g_array_append_val (start, s); + g_array_append_val (end, offset); + } + } + } + + gossip_debug (DEBUG_DOMAIN, + "Found %d matches for ALL regex types", + num_matches); + + return num_matches; +} + +gint +gossip_strcasecmp (const gchar *s1, + const gchar *s2) +{ + return gossip_strncasecmp (s1, s2, -1); +} + +gint +gossip_strncasecmp (const gchar *s1, + const gchar *s2, + gsize n) +{ + gchar *u1, *u2; + gint ret_val; + + u1 = g_utf8_casefold (s1, n); + u2 = g_utf8_casefold (s2, n); + + ret_val = g_utf8_collate (u1, u2); + g_free (u1); + g_free (u2); + + return ret_val; +} + +gboolean +gossip_xml_validate (xmlDoc *doc, + const gchar *dtd_filename) +{ + gchar *path, *escaped; + xmlValidCtxt cvp; + xmlDtd *dtd; + gboolean ret; + + path = gossip_paths_get_dtd_path (dtd_filename); + + /* The list of valid chars is taken from libxml. */ + escaped = xmlURIEscapeStr (path, ":@&=+$,/?;"); + + g_free (path); + + memset (&cvp, 0, sizeof (cvp)); + dtd = xmlParseDTD (NULL, escaped); + ret = xmlValidateDtd (&cvp, doc, dtd); + + xmlFree (escaped); + xmlFreeDtd (dtd); + + return ret; +} + +xmlNodePtr +gossip_xml_node_get_child (xmlNodePtr node, + const gchar *child_name) +{ + xmlNodePtr l; + + g_return_val_if_fail (node != NULL, NULL); + g_return_val_if_fail (child_name != NULL, NULL); + + for (l = node->children; l; l = l->next) { + if (l->name && strcmp (l->name, child_name) == 0) { + return l; + } + } + + return NULL; +} + +xmlChar * +gossip_xml_node_get_child_content (xmlNodePtr node, + const gchar *child_name) +{ + xmlNodePtr l; + + g_return_val_if_fail (node != NULL, NULL); + g_return_val_if_fail (child_name != NULL, NULL); + + l = gossip_xml_node_get_child (node, child_name); + if (l) { + return xmlNodeGetContent (l); + } + + return NULL; +} + +xmlNodePtr +gossip_xml_node_find_child_prop_value (xmlNodePtr node, + const gchar *prop_name, + const gchar *prop_value) +{ + xmlNodePtr l; + xmlNodePtr found = NULL; + + g_return_val_if_fail (node != NULL, NULL); + g_return_val_if_fail (prop_name != NULL, NULL); + g_return_val_if_fail (prop_value != NULL, NULL); + + for (l = node->children; l && !found; l = l->next) { + xmlChar *prop; + + if (!xmlHasProp (l, prop_name)) { + continue; + } + + prop = xmlGetProp (l, prop_name); + if (prop && strcmp (prop, prop_value) == 0) { + found = l; + } + + xmlFree (prop); + } + + return found; +} + +GType +gossip_dbus_type_to_g_type (const gchar *dbus_type_string) +{ + if (dbus_type_string == NULL) + return G_TYPE_NONE; + + if (dbus_type_string[0] == 's') { + return G_TYPE_STRING; + } + else if (dbus_type_string[0] == 'b') { + return G_TYPE_BOOLEAN; + } + else if (dbus_type_string[0] == 'q') { + return G_TYPE_UINT; + } + else if (dbus_type_string[0] == 'n') { + return G_TYPE_INT; + } + + g_assert_not_reached (); + return G_TYPE_NONE; +} + +const gchar * +gossip_g_type_to_dbus_type (GType g_type) +{ + switch (g_type) { + case G_TYPE_STRING: + return "s"; + case G_TYPE_BOOLEAN: + return "b"; + case G_TYPE_UINT: + return "q"; + case G_TYPE_INT: + return "n"; + default: + g_assert_not_reached (); + } + + return NULL; +} + +gchar * +gossip_g_value_to_string (const GValue *value) +{ + gchar *return_string = NULL; + GValue string_g_value = {0, }; + + g_value_init (&string_g_value, G_TYPE_STRING); + g_value_transform (value, &string_g_value); + return_string = g_value_dup_string (&string_g_value); + g_value_unset (&string_g_value); + + return return_string; +} + +GValue * +gossip_string_to_g_value (const gchar *str, GType type) +{ + GValue *g_value; + + g_value = g_new0 (GValue, 1); + g_value_init (g_value, type); + + switch (type) { + case G_TYPE_STRING: + g_value_set_string (g_value, str); + break; + case G_TYPE_BOOLEAN: + g_value_set_boolean (g_value, (str[0] == 'y' || str[0] == 'T')); + break; + case G_TYPE_UINT: + g_value_set_uint (g_value, atoi (str)); + break; + case G_TYPE_INT: + g_value_set_int (g_value, atoi (str)); + break; + default: + g_assert_not_reached (); + } + + return g_value; +} + +gboolean +gossip_g_value_equal (const GValue *value1, + const GValue *value2) +{ + GType type; + + g_return_val_if_fail (value1 != NULL, FALSE); + g_return_val_if_fail (value2 != NULL, FALSE); + + type = G_VALUE_TYPE (value1); + if (type != G_VALUE_TYPE (value2)) { + return FALSE; + } + + switch (type) + { + case G_TYPE_STRING: { + const gchar *str1; + const gchar *str2; + + str1 = g_value_get_string (value1); + str2 = g_value_get_string (value2); + return (str1 && str2 && strcmp (str1, str2) == 0) || + (G_STR_EMPTY (str1) && G_STR_EMPTY (str2)); + } + case G_TYPE_BOOLEAN: + return g_value_get_boolean (value1) == g_value_get_boolean (value2); + case G_TYPE_UINT: + return g_value_get_uint (value1) == g_value_get_uint (value2); + case G_TYPE_INT: + return g_value_get_int (value1) == g_value_get_int (value2); + default: + g_warning ("Unsupported GType in value comparaison"); + } + + return FALSE; +} + +guint +gossip_account_hash (gconstpointer key) +{ + return g_str_hash (mc_account_get_unique_name (MC_ACCOUNT (key))); +} + +gboolean +gossip_account_equal (gconstpointer a, + gconstpointer b) +{ + const gchar *name_a; + const gchar *name_b; + + name_a = mc_account_get_unique_name (MC_ACCOUNT (a)); + name_b = mc_account_get_unique_name (MC_ACCOUNT (b)); + + return g_str_equal (name_a, name_b); +} + +MissionControl * +gossip_mission_control_new (void) +{ + static MissionControl *mc = NULL; + + if (!mc) { + mc = mission_control_new (tp_get_bus ()); + g_object_add_weak_pointer (G_OBJECT (mc), (gpointer) &mc); + } else { + g_object_ref (mc); + } + + return mc; +} + +gchar * +gossip_get_channel_id (McAccount *account, + TpChan *tp_chan) +{ + MissionControl *mc; + TpConn *tp_conn; + GArray *handles; + gchar **names; + gchar *name; + GError *error; + + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + g_return_val_if_fail (TELEPATHY_IS_CHAN (tp_chan), NULL); + + mc = gossip_mission_control_new (); + tp_conn = mission_control_get_connection (mc, account, NULL); + g_object_unref (mc); + + if (!tp_conn) { + return NULL; + } + + /* Get the handle's name */ + handles = g_array_new (FALSE, FALSE, sizeof (guint)); + g_array_append_val (handles, tp_chan->handle); + if (!tp_conn_inspect_handles (DBUS_G_PROXY (tp_conn), + tp_chan->handle_type, + handles, + &names, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Couldn't get id: %s", + error ? error->message : "No error given"); + + g_clear_error (&error); + g_array_free (handles, TRUE); + g_object_unref (tp_conn); + + return NULL; + } + + name = *names; + g_free (names); + g_object_unref (tp_conn); + + return name; +} + diff --git a/trunk/libempathy/gossip-utils.h b/trunk/libempathy/gossip-utils.h new file mode 100644 index 000000000..638c114bd --- /dev/null +++ b/trunk/libempathy/gossip-utils.h @@ -0,0 +1,100 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2003-2007 Imendio AB + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __GOSSIP_UTILS_H__ +#define __GOSSIP_UTILS_H__ + +#include <glib.h> +#include <glib-object.h> + +#include <libxml/parser.h> +#include <libxml/tree.h> + +#include <libtelepathy/tp-chan.h> + +#include <libmissioncontrol/mc-account.h> +#include <libmissioncontrol/mission-control.h> + +#include "gossip-contact.h" + +G_BEGIN_DECLS + +#define G_STR_EMPTY(x) ((x) == NULL || (x)[0] == '\0') + +typedef enum { + GOSSIP_REGEX_AS_IS, + GOSSIP_REGEX_BROWSER, + GOSSIP_REGEX_EMAIL, + GOSSIP_REGEX_OTHER, + GOSSIP_REGEX_ALL, +} GossipRegExType; + +/* Regular expressions */ +gchar * gossip_substring (const gchar *str, + gint start, + gint end); +gint gossip_regex_match (GossipRegExType type, + const gchar *msg, + GArray *start, + GArray *end); + +/* Strings */ +gint gossip_strcasecmp (const gchar *s1, + const gchar *s2); +gint gossip_strncasecmp (const gchar *s1, + const gchar *s2, + gsize n); + +/* XML */ +gboolean gossip_xml_validate (xmlDoc *doc, + const gchar *dtd_filename); +xmlNodePtr gossip_xml_node_get_child (xmlNodePtr node, + const gchar *child_name); +xmlChar * gossip_xml_node_get_child_content (xmlNodePtr node, + const gchar *child_name); +xmlNodePtr gossip_xml_node_find_child_prop_value (xmlNodePtr node, + const gchar *prop_name, + const gchar *prop_value); + + +/* GValue/GType */ +GType gossip_dbus_type_to_g_type (const gchar *dbus_type_string); +const gchar *gossip_g_type_to_dbus_type (GType g_type); +gchar * gossip_g_value_to_string (const GValue *value); +GValue * gossip_string_to_g_value (const gchar *str, + GType type); +gboolean gossip_g_value_equal (const GValue *value1, + const GValue *value2); + +guint gossip_account_hash (gconstpointer key); +gboolean gossip_account_equal (gconstpointer a, + gconstpointer b); +MissionControl *gossip_mission_control_new (void); +gchar * gossip_get_channel_id (McAccount *account, + TpChan *tp_chan); + +G_END_DECLS + +#endif /* __GOSSIP_UTILS_H__ */ diff --git a/trunk/po/ChangeLog b/trunk/po/ChangeLog new file mode 100644 index 000000000..e95e84dd7 --- /dev/null +++ b/trunk/po/ChangeLog @@ -0,0 +1,15 @@ +2007-05-26 Takeshi AIHANA <takeshi.aihana@gmail.com> + + * ja.po, LINGUAS: Added Japanese translation. + +2007-05-15 David Lodge <dave@cirt.net> + + * en_GB.po: Added British English translation + +2007-05-14 Daniel Nylander <po@danielnylander.se> + + * sv.po: Added Swedish translation. + +2007-05-14 Xavier Claessens <xclaesse@gmail.com> + + * Initial version imported from gossip diff --git a/trunk/po/LINGUAS b/trunk/po/LINGUAS new file mode 100644 index 000000000..5800f8821 --- /dev/null +++ b/trunk/po/LINGUAS @@ -0,0 +1,43 @@ +# please keep this list sorted alphabetically +ar +az +bg +ca +cs +cy +da +de +dz +el +en_CA +en_GB +eo +es +eu +fi +fr +ga +hr +hu +it +ja +lt +ml +ms +nb +ne +nl +pl +pt +pt_BR +ru +sq +sr +sr@Latn +sv +tr +uk +vi +zh_CN +zh_HK +zh_TW diff --git a/trunk/po/POTFILES.in b/trunk/po/POTFILES.in new file mode 100644 index 000000000..4d04ad577 --- /dev/null +++ b/trunk/po/POTFILES.in @@ -0,0 +1,31 @@ +# List of source files containing translatable strings. +# Please keep this file sorted alphabetically. + +data/empathy.desktop.in +data/empathy.schemas.in + +libempathy/empathy-idle.c +libempathy/gossip-contact.c +libempathy/gossip-presence.c + +libempathy-gtk/empathy-main-window.c +libempathy-gtk/empathy-main-window.glade +libempathy-gtk/empathy-status-icon.glade +libempathy-gtk/gossip-about-dialog.c +libempathy-gtk/gossip-accounts-dialog.c +libempathy-gtk/gossip-accounts-dialog.glade +libempathy-gtk/gossip-account-widget-generic.c +libempathy-gtk/gossip-account-widget-jabber.glade +libempathy-gtk/gossip-chat.c +libempathy-gtk/gossip-chat.glade +libempathy-gtk/gossip-chat-view.c +libempathy-gtk/gossip-chat-window.c +libempathy-gtk/gossip-contact-list-view.c +libempathy-gtk/gossip-preferences.c +libempathy-gtk/gossip-preferences.glade +libempathy-gtk/gossip-presence-chooser.c +libempathy-gtk/gossip-presence-chooser.glade +libempathy-gtk/gossip-private-chat.c +libempathy-gtk/gossip-theme-manager.c + +src/empathy-main.c diff --git a/trunk/po/ar.po b/trunk/po/ar.po new file mode 100644 index 000000000..1784d9863 --- /dev/null +++ b/trunk/po/ar.po @@ -0,0 +1,1937 @@ +# translation of gossip.HEAD.po to Arabic +# Arabisch translation of PACKAGE. +# Copyright (C) 2004 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# +# Arafat Medini <lumina@silverpen.de>, 2004. +# Abdulaziz Al-Arfaj <alarfaj0@yahoo.com>, 2004. +# Khaled Hosny <khaledhosny@eglug.org>, 2006. +msgid "" +msgstr "" +"Project-Id-Version: gossip.HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-11-17 23:55+0100\n" +"Last-Translator: Djihed Afifi <djihed@gmail.com>\n" +"Language-Team: Arabic <support@eglug.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : n>=3 && n<=10 ? 2 : " +"3\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "مراسل فوري" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "مراسل فوري" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +#, fuzzy +msgid "Chat window theme" +msgstr "تيمة حدود النافذة" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "قائمة مراسَلين جديدة" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "تفعيل استخدام خادم الصوت" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "تفعيل استخدام خادم الصوت" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "فحص تهجئة ضمن السّياق" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "إخفاء النَّافذة الرَّئيسيَّة" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "إخفاء النَّافذة الرَّئيسيَّة." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "اظهار التفاصيل" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "إظهار المراسلين الغير متَّصلين" + +#: ../data/empathy.schemas.in.h:17 +#, fuzzy +msgid "Spell checking languages" +msgstr "إكمال التثبت من التهجئة" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "استخدام التعابير المرسومة" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "استخدام أصوات التَّبليغ" + +#: ../data/empathy.schemas.in.h:22 +#, fuzzy +msgid "Use theme for chat rooms" +msgstr "استخدم ألوان التيمة للمحتوى" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "فيما إذا ستحول التعابير المرسومة إلى صور مرسومة في المحادثات." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "فيما إذا سيصدر صوت عند وصول الرَّسائل." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "فيما إذا سيصدر صوت عندما أكون غائباً." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "فيما إذا سيصدر صوت عندما أكون مشغولاً." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "فيما إذا سيصدر صوت عند وصول الرَّسائل." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "فيما إذا سيظهر المراسلين الغير متَّصلين في قائمة المراسَلين." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "فيما إذا سيظهر المراسلين الغير متَّصلين في قائمة المراسَلين." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "فيما إذا سيظهر المراسلين الغير متَّصلين في قائمة المراسَلين." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "غير متصل" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "متوفّر" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "مشغول" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "غائب" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_تحرير المستخدمين و المجموعات" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "المجموعة" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "المراسَل" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "إظهار _قائمة المراسلين" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "السياق" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "مُرفق للإضافة." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +#, fuzzy +msgid "Join _New..." +msgstr "فا_صل جديد" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +#, fuzzy +msgid "Manage Favorites..." +msgstr "حجم نافذة المحادثة" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "إظهار المراسلين ال_غير متَّصلين" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_حول" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_حسابات" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "إ_ضافة مراسَل..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_دردشة" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "_المحتويات" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "_تحرير" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +#, fuzzy +msgid "_Help" +msgstr "م_ساعدة" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_رسالة جديدة..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "المعلومات الشخصية" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "ال_تَّفضيلات" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +#, fuzzy +msgid "_Quit" +msgstr "إ_نهي" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "الغرفة" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "تنشيط اللسان السابق" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "الحالة" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "إظهار _قائمة المراسلين" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"جلاء هو برنامج حر؛ بامكانكم إعادة توزيعه و/أو تعديله تحت شروط الرخصة العامة " +"لجنو والتي نشرت عن طريق منظمة البرمجيات الحرة؛ سواء كانت الإصدارة 2 للرخصة " +"أو أي إصدارة بعدها حسب الرغبة. \n" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"جلاء موزّع على أمل أن يكون مفيدًل لمن يستخدمه دون أدنى مسؤولية؛ ولا حتى أي " +"شمان يضمن صلاحية العرض في السوق أو توافقه مع أي استخدام محدد. يمكنكم مراجعة " +"الرخصة العامة لجنو لمزيد من التفاصيل. \n" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"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., 51 " +"Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA " + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "كُسِّب، عميل مراسلة فورية" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "Yousef Raffah يوسف رفه (yousef@raffah.com)" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "متوفّر" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "لم يتم انتقاء أيّة تطبيقات" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "تحرير حساباتك" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "حسابات" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "الحساب" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "الحساب" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "التعيينات" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "التاريخ" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "جَابّر" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "الإ_سم:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, fuzzy, c-format +msgid "%s:" +msgstr "%s:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">مثال: user@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +#, fuzzy +msgid "Login I_D:" +msgstr "إسم التسجيل" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "كلمة الس_ر..." + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "الم_ورد:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "التّشفير مطلوب من العملاء" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "ال_مَنْفذ:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "ال_خادم:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "ابق الإعدادات الحالية" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "غير متَّصل" + +#: ../libempathy-gtk/gossip-chat.c:858 +#, fuzzy +msgid "Insert Smiley" +msgstr "إدرج فضاءات" + +#: ../libempathy-gtk/gossip-chat.c:906 +#, fuzzy +msgid "_Check Word Spelling..." +msgstr "دقق الإملاء للوثيقة" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "متَّصل" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_مسح" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "دردشة" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "عنوان البريد الالكتروني للموصول" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "_قص" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "تكبير" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +#, fuzzy +msgid "Insert _Smiley" +msgstr "إدرج فضاءات" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "إر_سال رسالة" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "نقل اللِّسان إلى اليسا_ر" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "نقل اللِّسان إلى ال_يمين" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "مُرفق للإضافة." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +#, fuzzy +msgid "_Close" +msgstr "أ_غلق" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "ّم_حادثَة" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +#, fuzzy +msgid "_Copy" +msgstr "_نسخ" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_فصل اللِّسان" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "اللِّسان ال_تَّالي" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +#, fuzzy +msgid "_Paste" +msgstr "_لصق" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "اللِّسان ال_سَّابق" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "مراسَلين بعيدين" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "أ_لْسنة" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_نسخ عنوان الوصلة" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_فتح الوصلة" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A·%d·%B·%Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "رسالة بريديّة جديدة" +msgstr[1] "رسالة بريديّة جديدة" +msgstr[2] "رسالة بريديّة جديدة" +msgstr[3] "رسالة بريديّة جديدة" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "نافذة المحادثة" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "ّم_حادثَة" +msgstr[1] "ّم_حادثَة" +msgstr[2] "ّم_حادثَة" +msgstr[3] "ّم_حادثَة" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +#, fuzzy +msgid "Typing a message." +msgstr "إر_سال رسالة" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "_مراسَل" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "مجموعة" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "عنوان البريد الالكتروني للموصول" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "_معلومات المراسل" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "عدّل معلومات الاتصال" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "إعادة ال_تسمية" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "اعادة التسمية" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"الرجاء إدخال كنية جديدة للمراسَل\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "_Remove" +msgstr "إ_زالة" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "اسم الموصول" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "كُسِّب - تحرير الدَّردشات الجماعيَّة" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "_Send File..." +msgstr "إنتقاء ملف" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "إنتقاء ملف" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "ّم_حادثَة" + +#: ../libempathy-gtk/gossip-preferences.c:250 +#, fuzzy +msgid "Language" +msgstr "لغة" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "<b>المظهر</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>الصوت</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>توجيه & تصرف</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "الحالة" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +#, fuzzy +msgid "<b>Languages</b>" +msgstr "<b>اللغات</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "<b>الخيارات</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "مرئي" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "حجم نافذة المحادثة" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "تعطيل الأصوات عندما أكون _غائباً" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "تعطيل الأصوات عندما أكون مَ_شْغولاً" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +#, fuzzy +msgid "General" +msgstr "عامّ" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "استخدام أصوات التَّبليغ" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "تفضيلات" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +#, fuzzy +msgid "Show _avatars" +msgstr "اظهار التفاصيل" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "إظهار الصّور المتحرّكة كرسوم متحرّكة." + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "إظهار _قائمة المراسلين" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +#, fuzzy +msgid "Spell Checking" +msgstr "إكمال التثبت من التهجئة" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +#, fuzzy +msgid "Themes" +msgstr "السِمات" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +#, fuzzy +msgid "_Enable spell checking" +msgstr "إكمال التثبت من التهجئة" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "تشغيل صوت للرسائل القصيرة الجديدة" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "واحدة الضّغط المستخدمة." + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "إر_سال رسالة" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr " مسح قائمة المستندات الأخيرة؟" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "أمتأكد من أنك تريد مسح قائمة المواقع التي زرتها؟" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr " مسح قائمة المستندات الأخيرة؟" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "أدخل رسالة الحالة:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "" +"قوبلت رسالة حالة GnuPG غير متوقعة:\n" +"\n" +"%s" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "تأليف رد إلى القائمة البريديّة للرّسالة المنتقاة" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s صار دون اتِّصال" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "انتهت صلاحيّة الشهادة" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +#, fuzzy +msgid "Classic" +msgstr "تقليدي" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "_مسح" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +#, fuzzy +msgid "Blue" +msgstr "أزرق" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "لا تتَّصل عند بدء التَّشغيل" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "مقطع صوتي لرسالة فورية جديدة" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "مقطع صوتي لرسالة فورية جديدة" + +#, fuzzy +#~ msgid "Normal" +#~ msgstr "عادي" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "إ_نضمام" + +#, fuzzy +#~ msgid "Active" +#~ msgstr "نشط" + +#, fuzzy +#~ msgid "Inactive" +#~ msgstr "غير نشط" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "مجهول" + +#, fuzzy +#~ msgid "Error" +#~ msgstr "خطأ" + +#, fuzzy +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "مشارك إلزامي" +#~ msgstr[1] "" +#~ msgstr[2] "" +#~ msgstr[3] "" + +#, fuzzy +#~ msgid "No role" +#~ msgstr "لا دور متوفر" + +#, fuzzy +#~ msgid "Owner" +#~ msgid_plural "Owners" +#~ msgstr[0] "المالك" +#~ msgstr[1] "" +#~ msgstr[2] "" +#~ msgstr[3] "" + +#, fuzzy +#~ msgid "Member" +#~ msgid_plural "Members" +#~ msgstr[0] "عضو" +#~ msgstr[1] "" +#~ msgstr[2] "" +#~ msgstr[3] "" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "لا تاريخ" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "خطأ مجهول" + +#, fuzzy +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "حجم نافذة المحادثة" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "غير متوفّر" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "حدث خطأ مجهول." + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "“%s” رفض الإتصال" + +#, fuzzy +#~ msgid "Server address could not be resolved." +#~ msgstr "خادم X الموجود في إعداد جي دي ام غير موجود." + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "انتهت الفرصة الزمنية لتنشيط Moniker" + +#, fuzzy +#~ msgid "Authentication failed." +#~ msgstr "أخفق التّوثيق." + +#, fuzzy +#~ msgid "The username you are trying is not valid." +#~ msgstr "الملف الذي تحاول فتحه ليس عاديا." + +#, fuzzy +#~ msgid "This feature is unavailable." +#~ msgstr "هل هذا العمل مستمر؟" + +#, fuzzy +#~ msgid "This feature is unauthorized." +#~ msgstr "هل هذا العمل مستمر؟" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "إسم الحساب:" + +#~ msgid "Home" +#~ msgstr "المنزل" + +#, fuzzy +#~ msgid "Couldn't send message!" +#~ msgstr "إرسال هذه الرسالة" + +#, fuzzy +#~ msgid "Connection could not be opened" +#~ msgstr "لم يمكن فتح الفيلم." + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "هل هذا العمل مستمر؟" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "هل هذا العمل مستمر؟" + +#, fuzzy +#~ msgid "Stop" +#~ msgstr "توقّف" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_قطع الاتصال" + +#~ msgid "Connect" +#~ msgstr "إتَّصال" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "فشل تسجيل الحساب" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "فشل تسجيل الحساب" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "فشل تسجيل الحساب" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "الرجاء إدخال كلمة السِّر:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "أكتب إسما جديدا للشعار المعروض:" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "جاري تدريب داشر·-·الرجاء الإنتظار" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "أود إضافتك إلى قائمة مراسليَّ." + +#, fuzzy +#~ msgid "To summarize:" +#~ msgstr "مسجل ل %s" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "رسالة بريديّة جديدة" +#~ msgstr[1] "_رسالة جديدة..." + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "طلب غير صحيح" +#~ msgstr[1] "" + +#, fuzzy +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "طلب تحديث إجتماع" +#~ msgstr[1] "" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "رسالة النّادل:" +#~ msgstr[1] "" + +#, fuzzy +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "خطأ" +#~ msgstr[1] "" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "عدّل معلومات الحساب" + +#, fuzzy +#~ msgid "Click to enlarge" +#~ msgstr "انقر للإضافة" + +#, fuzzy +#~ msgid "Word" +#~ msgstr "كلمة" + +#~ msgid "New message from %s" +#~ msgstr "رسالة جديدة من %s" + +#, fuzzy +#~ msgid "Your invitation has been declined" +#~ msgstr "تمّ تغيير كلمة السر." + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "اقبل" + +#, fuzzy +#~ msgid "Decline" +#~ msgstr "رفض" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "الإسم:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "الغرفة" + +#, fuzzy +#~ msgid "Server" +#~ msgstr "الخادم:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "الاتّصال كم_جهول" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "بيانات سيّئة" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "هل تريد إزالة المراسَل\n" +#~ "%s\n" +#~ "من قائمة مراسَليك؟" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "أكتب إسما جديدا للشعار المعروض:" + +#~ msgid "Select" +#~ msgstr "إنتقاء" + +#~ msgid "Unsorted" +#~ msgstr "غير مصنّف" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "خطأ مجهول" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "هل تريد تحميل ملفات modmap ؟" + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "هل تريد تحميل ملفات modmap ؟" + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "إنتقاء ملف" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "إتَّصال" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "إتَّصال" + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "انشاء موضوع جديد" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "ّما اللَّقب الذي تريد إطلاقه على هذا المراسل؟" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "انشاء موضوع جديد" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "انشاء موضوع جديد" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "ال_موضوع:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "الحساب" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "الفتح بـاستخدام" + +#, fuzzy +#~ msgid "Date" +#~ msgstr "التاريخ" + +#~ msgid "List the available accounts" +#~ msgstr "سرد الحسابات المتوفرة" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "أي حساب سيوصل به عند بدء التَّشغيل" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "إسم-الحساب" + +#, fuzzy +#~ msgid "No accounts available." +#~ msgstr "لا وجود لوصف." + +#~ msgid "Available accounts:" +#~ msgstr "الحسابات المتوفرة:" + +#~ msgid "[default]" +#~ msgstr "[الإفتراض]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "لا حساب بإسم '%s'." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "إ_نضمام" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "التاريخ" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "نافذة المحادثة" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "جاري تدريب داشر·-·الرجاء الإنتظار" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "الافتراضي" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "نافذة المحادثة" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "سيضاف %s إلى قائمة مراسليك." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "سيضاف %s إلى قائمة مراسليك." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "طلب غير صحيح" + +#, fuzzy +#~ msgid "Show" +#~ msgstr "عرض" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "عدّل معلومات الاتصال" + +#, fuzzy +#~ msgid "Contact has been removed" +#~ msgstr "تمّ تغيير كلمة السر." + +#, fuzzy +#~ msgid "Subject: %s" +#~ msgstr "<b>الموضوع:</b>" + +#, fuzzy +#~ msgid "Suggestions for the word" +#~ msgstr "عدد التنبؤات لإنهاء الكلمات" + +#, fuzzy +#~ msgid "New subscription request from %s" +#~ msgstr "إنشاء طلب إجتماع جديد" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "هل تريد إزالة المراسَل\n" +#~ "%s\n" +#~ "من قائمة مراسَليك؟" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "هل تريد إزالة المراسَل\n" +#~ "%s\n" +#~ "من قائمة مراسَليك؟" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "الرجاء إدخال كلمة سر NNTP لـ %s@%s" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "تم الاتصال مع %s باستخدام %s" + +#~ msgid "Remember Password?" +#~ msgstr "أتذكَّر كلمة السِّر؟" + +#, fuzzy +#~ msgid "Do not show this again" +#~ msgstr "لا تظهر هذا الحوار مجدداً" + +#, fuzzy +#~ msgid "Could not display the help contents." +#~ msgstr "تعذّر عرض المساعدة لتوتم" + +#, fuzzy +#~ msgid "Select Your Avatar Image" +#~ msgstr "اختر تطبيقاتك الإفتراضية" + +#, fuzzy +#~ msgid "No Image" +#~ msgstr "لا صورة." + +#, fuzzy +#~ msgid "Try again later." +#~ msgstr "رجاء حاول مرة أخرى." + +#, fuzzy +#~ msgid "Change" +#~ msgstr "دردشة" + +#, fuzzy +#~ msgid "Contact goes offline" +#~ msgstr "خطأ: مستخدم غير متصل" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "عنوان البريد الالكتروني للموصول" + +#, fuzzy +#~ msgid "Contact ID:" +#~ msgstr "هويّة المراسَل موجودة مسبقاً" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "هل تريد الحفاظ على هذه الاستبانة؟" + +#, fuzzy +#~ msgid "File Transfer Request" +#~ msgstr "طلب تحديث إجتماع" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "إسم الملف:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "حجم الملف:" + +#, fuzzy +#~ msgid "Not supported yet" +#~ msgstr "البروتوكول غير مدعوم" + +#~ msgid "Web site:" +#~ msgstr "موقع الإنترنت:" + +#~ msgid "_Accept" +#~ msgstr "م_وافقة" + +#~ msgid "_Deny" +#~ msgstr "_رفض" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "ال_مجموعات" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "الحساب" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "حجم نافذة المحادثة" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "نافذة المحادثة" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "فا_صل جديد" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "لا تتَّصل عند بدء التَّشغيل" + +#, fuzzy +#~ msgid "Manage Favorite Rooms" +#~ msgstr "حجم نافذة المحادثة" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "الإسم:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "النّا_دل:" + +#~ msgid "_Nickname:" +#~ msgstr "الك_نية:" + +#~ msgid "_Room:" +#~ msgstr "ال_غُرفة:" + +#, fuzzy +#~ msgid "-" +#~ msgstr "-" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "_حول" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "بيانات سيّئة" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "ال_مجموعات" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "اسم" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "اظهار التفاصيل" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>الخيارات</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">مثال: user@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "ويندوزNT" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "إ_ضافة مراسَل..." + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "اليوم عند %-I:%M %p" + +#~ msgid "Client:" +#~ msgstr "العميل:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "إ_عداد" + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "على هذا الحاسوب" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "المراسَلون" + +#~ msgid "Country:" +#~ msgstr "البلد:" + +#, fuzzy +#~ msgid "Decide _Later" +#~ msgstr "_تقرير لاحق" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "تحرير المعارف %s" + +#~ msgid "Edit Groups" +#~ msgstr "تحرير المجموعات" + +#~ msgid "Email:" +#~ msgstr "البريد الإلكتروني:" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "الهوية" + +#~ msgid "Name:" +#~ msgstr "الإسم:" + +#~ msgid "OS:" +#~ msgstr "نظام التَّشغيل:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "اظهار التفاصيل" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "جاري تسجيل الحساب" + +#, fuzzy +#~ msgid "Search" +#~ msgstr "بحث" + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "مدقٌق التهجئة" + +#, fuzzy +#~ msgid "Subscription Request" +#~ msgstr "طلب غير صحيح" + +#, fuzzy +#~ msgid "Suggestions for the word:" +#~ msgstr "عدد التنبؤات لإنهاء الكلمات" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "ّما اللَّقب الذي تريد إطلاقه على هذا المراسل؟" + +#, fuzzy +#~ msgid "Use system pro_xy" +#~ msgstr "_لا شيء (يستخدم تيمة النظام)" + +#~ msgid "Version:" +#~ msgstr "الإصدارة:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "تنشيط اللسان السابق" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "ما إسم المستخدم الذي تريد استعماله؟" + +#, fuzzy +#~ msgid "You are not subscribed to this contact." +#~ msgstr "لا يمكنك فتح هذا الملف." + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "اتّ_صل" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "الوصف:" + +#~ msgid "_Disconnect" +#~ msgstr "_قطع الإتصال" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "البريد الإلكتروني:" + +# To Arabeyes.org translators, from Abdulaziz (08/04/2004): +# We have no standard word for User ID (or I couldnt find one). +# This word should not be translated as two seperate +# words because the English equivalents are never +# used seperately in this context. +# I suggest permanently settling on one of the following +# and adding it to the Qamoose: +# هوية، رمز، بطاقة، مفتاح، شارة +# I will leave this one up to the superiors +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "أدخل هوية المستخدم الذي تَود أن ترسل له رسالة دردشة." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "لـ" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "الإ_سم:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "الم_جموعة:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "الك_نية:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "كلمة الس_ر..." + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "رسالة بريديّة جديدة" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "إ_ستلم المكالمة" + +#, fuzzy +#~ msgid "_Subscribe" +#~ msgstr "_إشتراك" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "موقع الإنترنت:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "ابق الإعدادات الحالية" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "ابق الإعدادات الحالية" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Gossip" +#~ msgstr "كُسِّب" + +#, fuzzy +#~ msgid "Group:" +#~ msgstr "المجموعة:" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "الإسم المستعار" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "موقع الإنترنت" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "مُرفق للإضافة." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "إدراج إس_م المستخدم" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "حجم نافذة المحادثة" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "نافذة المحادثة" + +#~ msgid "Preset status messages" +#~ msgstr "رسائل حالة مضبوطة مسبّقا" + +#~ msgid "Preset status messages." +#~ msgstr "رسائل حالة مضبوطة مسبّقا." + +#~ msgid "%s will be added to your contact list." +#~ msgstr "سيضاف %s إلى قائمة مراسليك." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "هوية جَابّ_ر للمراسَل الجديد:" + +#, fuzzy +#~ msgid "Show accounts and pending connections" +#~ msgstr "لم يمكن الإتِّصال" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "الرجاء إدخال كلمة السِّر:" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_معلومات المراسَل" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/إعادة تسمية الم_راسَل" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/_تحرير المجموعات" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "ّم_حادثَة" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "الرجاء إدخال كنية جديدة للمراسَل\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "تحرير المجموعات لـ %s" + +#~ msgid "Registering account" +#~ msgstr "جاري تسجيل الحساب" + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>المعلومات قيد الطلب، الرجاء الإنتظار...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">مثال: user@jabber.org</span>" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "هل لديك حساب عند خادم \"جَابّر\"؟" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "الرجاء إدخال كنية جديدة للمراسَل\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "الرجاء إدخال كنية جديدة للمراسَل\n" +#~ "%s" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "تمَّ الضبط" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "كُسِّب عميلٌ حَديث لنظام المراسلة الفورية \"جَابّر\".\n" +#~ "\n" +#~ "سيساعدك هذا المُعاون على تهيئَة كُسِّب و الإتِّصال بخادم \"جَابّر\" المفضَّل لديك.\n" +#~ "\n" +#~ "للبدء، أنقر \"إلى الأمام\"." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "سيتم·إرسال·طلب للإشتراك بتبليغات وجود المستخدم. سيظهر المستخدم دائماً على " +#~ "أنَّه \"غير متَّصل\" في قائمة مراسليك. إلى·أن·تتمَّ·الموافقة·على·هذا·الطَّلب." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "في أيّ مجموعة تريد وضع هذا المراسَل؟" + +#~ msgid "Jabber ID:" +#~ msgstr "هويَّة جَابّر:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "ال_مَنفذ:" + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "جاري تسجيل الحساب" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "الم_ورد:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "أهلاً بكم في كُسِّب" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "ما نظام المراسلة الفورية الذي يستعمله المراسل؟" + +#~ msgid "What is your name?" +#~ msgstr "ما إسمك؟" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "أي خادم تريد أن تستعمل؟" + +#~ msgid "What username do you use?" +#~ msgstr "ما إسم المستخدم الذي تستعمله؟" + +#~ msgid "What username do you want to use?" +#~ msgstr "ما إسم المستخدم الذي تريد استعماله؟" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "في أيّ مجموعة تريد وضع هذا المراسَل؟" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "كُسِّب الآن مهيَّئ بشكلٍ مناسبٍ لنظامك.\n" +#~ "يمكنك تغيير تعيينات حسابك لاحقا، بإختيار العنصر>إتَّصل... من قائِمة دردشة-." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "حساب جَابّر" + +#~ msgid "Your Identity" +#~ msgstr "هويَّتك" + +#~ msgid "_Hide Contact List" +#~ msgstr "إ_خفاء قائمة المراسلين" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "لا" + +#~ msgid "_Search..." +#~ msgstr "_بحث..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "نعم" diff --git a/trunk/po/az.po b/trunk/po/az.po new file mode 100644 index 000000000..d722dd0b6 --- /dev/null +++ b/trunk/po/az.po @@ -0,0 +1,1136 @@ +# gossip.HEAD.po faylının Azərbaycan Dilinə tərcüməsi +# gossip.HEAD.po faylının Azərbaycan dilinə tərcüməsi +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# Mətin Əmirov <metin@karegen.com>, 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: gossip.HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2003-10-19 20:34+0300\n" +"Last-Translator: Mətin Əmirov <metin@karegen.com>\n" +"Language-Team: Azərbaycan Dili <gnome@azətt.com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0.1\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "İsmarış:" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "" + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "" + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "Bağlan" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +msgid "Contact List - Empathy" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Bağlan" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Gedişatlar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Gedişatlar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Bağlan" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "Çı_x" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +#, fuzzy +msgid "_Preferences" +msgstr "Qurğular" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "Çı_x" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +#, fuzzy +msgid "Status" +msgstr "<b>Vəziyyət:</b>" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "" +"Vasif İsmailoğlu\n" +"Mətin Əmirov" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +msgid "Disable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "_Gedişatlar" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "_Gedişatlar" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "_Gedişatlar" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "_Gedişatlar" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "_Gedişatlar" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Ad:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +msgid "Cr_eate" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Ad:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "_Şifrə:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "Üstünlük:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Verici:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +#, fuzzy +msgid "Disconnected" +msgstr "_Ayır" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +#, fuzzy +msgid "Connected" +msgstr "Bağlan" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "İsmarış:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "İsmarış:" +msgstr[1] "İsmarış:" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "Bağlan" +msgstr[1] "Bağlan" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "Bağlan" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "Bağlan" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "Ad:" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "İsmarış:" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "<b>Ad:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Ad:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Ad:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Ad:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +#, fuzzy +msgid "<b>Languages</b>" +msgstr "<b>Ad:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Bağlan" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Ad:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "Qurğular" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +#, fuzzy +msgid "Enter status message:" +msgstr "İsmarış:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "İsmarış:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "İsmarış:" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "İsmarış:" + +#, fuzzy +#~ msgid "Active" +#~ msgstr "_Gedişatlar" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Namə'lum xəta" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Namə'lum xəta" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Namə'lum xəta" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Bağlan" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Bağlan" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "_Gedişatlar" + +#~ msgid "Home" +#~ msgstr "Ev" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Ayır" + +#~ msgid "Connect" +#~ msgstr "Bağlan" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "İsmarış:" +#~ msgstr[1] "İsmarış:" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Ad:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Bağlan" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "Bağlan" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Namə'lum xəta" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Bağlan" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Bağlan" + +#~ msgid "[default]" +#~ msgstr "[ön qurğulu]" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[ön qurğulu]" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Ad:</b>" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Ad:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "_Verici:" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Ad:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Ad:</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Bağlan" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "_Gedişatlar" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "Bağlan" + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Bağlan" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "Bağlan" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "Bağlan" + +#~ msgid "Email:" +#~ msgstr "ePoçt:" + +#~ msgid "Name:" +#~ msgstr "Ad:" + +#~ msgid "Version:" +#~ msgstr "Buraxılış:" + +#, fuzzy +#~ msgid "_Birthday:" +#~ msgstr "_Vacibiyyət:" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Bağlan" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Buraxılış:" + +#~ msgid "_Disconnect" +#~ msgstr "_Ayır" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "ePoçt:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "Üstünlük:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Ad:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "Ad:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Şifrə:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "İsmarış:" + +#, fuzzy +#~ msgid "Preset status messages" +#~ msgstr "İsmarış:" + +#, fuzzy +#~ msgid "Preset status messages." +#~ msgstr "İsmarış:" + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Ad:" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "Üstünlük:" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Xeyir" + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Bəli" + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "Üstünlük:" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Buraxılış:" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Qurğular" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Mənbə:" + +#~ msgid "To:" +#~ msgstr "Hədəf:" + +#~ msgid "C_onnect" +#~ msgstr "_Bağlan" + +#~ msgid "_Add" +#~ msgstr "Ə_lavə et" + +#, fuzzy +#~ msgid "About Gossip" +#~ msgstr "Gossip" + +#, fuzzy +#~ msgid "translator_credits_old" +#~ msgstr "" +#~ "Vasif İsmailoğlu <linuxaz@azerimail.net>\n" +#~ "Mətin Əmirov <metin@karegen.com>" + +#~ msgid "Others" +#~ msgstr "Başqaları" + +#~ msgid "minutes" +#~ msgstr "dəqiqə" diff --git a/trunk/po/bg.po b/trunk/po/bg.po new file mode 100644 index 000000000..44b86bfeb --- /dev/null +++ b/trunk/po/bg.po @@ -0,0 +1,2048 @@ +# Bulgarian translation of gossip. +# Copyright (C) 2004 THE gossip'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gossip package. +# Iassen Pramatarov <turin@fsa-bg.org>, 2004. +# +# +# +msgid "" +msgstr "" +"Project-Id-Version: gossip HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-12-11 09:46+0200\n" +"Last-Translator: Iassen Pramatarov <turin@fsa-bg.org>\n" +"Language-Team: Bulgarian <dict@linux.zonebg.com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Моментни съобщения" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Моментни съобщения" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Добяване към списъка ви с контакти" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Без звуци в състояние \"_Отсъствам\"" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Без звуци в състояние \"_Зает\"" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Gossip - пращане на съобщение" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Скирване на основния прозорец" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Скирване на основния прозорец" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Показване на списъка с контакти" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Височината на основния прозорец" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Показване на изключените контакти" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +#, fuzzy +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Това ще бъде отличителното ви име в разговорите." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Изображения за усмивки" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Използване на звуци за уведомяване" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Дали да се преобразуват \"усмивките\" в картинки в разговорите." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Дали да се издава звук при пристигане на нови съобщения." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Дали да се издават звуци в състояние \"Отсъствам\"." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Дали да се издават звуци в състояние \"Зает\"." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Дали да се издава звук при пристигане на нови съобщения." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Дали да се показват в списъка контактите, които в момента не са включени." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" +"Дали да се показват в списъка контактите, които в момента не са включени." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "" +"Дали да се показват в списъка контактите, които в момента не са включени." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Изключен" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "На линия" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Зает" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Отсъства" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Показване на списъка с контакти" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Група" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "_Добавяне на контакт..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Скриване на списъка с контакти" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Свързване" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "_Редактиране на отметките..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Показване на _изключените контакти" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Одобряване" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Одобряване" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Добавяне на контакт..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Разговор" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Свързване" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Ново съобщение..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Лични данни" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Настройки" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Стая:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "_Разговор" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Състояние" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Показване на списъка с контакти" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, програма за моментни съобщения" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "Ясен Праматаров" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "На линия" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Настройки на сметка</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Настройки на сметка</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Jabber сметка" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Отметки:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Отметки:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Настройки на сметка</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Разговор" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +#, fuzzy +msgid "Imendio " +msgstr "Imendio Gossip" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Име:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Тема:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Например ivancho@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "Парола:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "_Ресурс:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Използване на шифриране (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "_Порт:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Сървър:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>Настройки на сметка</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Изключен" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Свързан" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Изчистване на прозореца" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Разговор" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "_Данни за контакта" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Разговор" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "_Регистриране..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Въведете съобщение за състояние:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Преместване страницата _наляво" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Преместване страницата _надясно" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "_Редактиране на отметките..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Разговор" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Отделяне на страницата" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Следваща страница" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Предишна страница" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "_Показване на списъка с контакти" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Страници" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Запомняне адреса на препратката" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Проследяване на препратката" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_Ново съобщение..." +msgstr[1] "_Ново съобщение..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossip - разговор" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Разговор" +msgstr[1] "_Разговор" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Пише съобщение." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "_Добавяне на контакт..." + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Група" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Добавяне на контакт" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "_Данни за контакта" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Данни за контакта" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/Преименуване на _групата" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Потребителско име:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Въведете нов псевдоним за контакта\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Премахване" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/_Премахване на контакта" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossip - редактиране на стаи за разговор" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Избор" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "_Разговор" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Изглед" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Отметки:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Отметки:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Състояние" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Свързване" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Кратко представяне</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "Име на _отметката:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Без звуци в състояние \"_Отсъствам\"" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Без звуци в състояние \"_Зает\"" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Използване на звуци за уведомяване" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Настройки" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Използване на _картинки за усмивки" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Показване на списъка с контакти" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "Уведомяване със звук при пристигане на съобщение" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gossip - редактиране на стаи за разговор" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Запитване" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "_Изчистване на прозореца" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Ще одобрите ли искането?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "_Изчистване на прозореца" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Въведете съобщение за състояние:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Съобщения за състояние" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Вградени съобщения за състояние" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s се изключи" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s се включи" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "_Изчистване на прозореца" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Без автоматично свързване в началото" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Моментни съобщения" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Моментни съобщения" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Влизане" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Неизвестна грешка" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Използване на звуци за уведомяване" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Неизвестна грешка" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "На линия" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Неизвестна грешка" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Свързан" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Свързан" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Jabber сметка" + +#~ msgid "Home" +#~ msgstr "Вкъщи" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Регистриране на сметката" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Изключване" + +#~ msgid "Connect" +#~ msgstr "Свързване" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Сметката е регистрирана успешно" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Грешка при регистриране на сметката" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Въведете паролата си:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Въведете паролата си:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Въведете ново име за групата\n" +#~ "%s" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>Данните се получават, моля изчакайте...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "I would like to add you to my contact list." + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_Ново съобщение..." +#~ msgstr[1] "_Ново съобщение..." + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Искане за записване" +#~ msgstr[1] "Искане за записване" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Редактиране настройките на сметка" + +#~ msgid "New message from %s" +#~ msgstr "Ново съобщение от %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Одобряване" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Име:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Стая:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Свързване" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>Данните се получават, моля изчакайте...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Наистина ли исакте да премахнете\n" +#~ "%s\n" +#~ "от списъка ви с контакти?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Въведете ново име за групата\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Избор" + +#~ msgid "Unsorted" +#~ msgstr "Неразпределени" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Неизвестна грешка" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "I would like to add you to my contact list." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "I would like to add you to my contact list." + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Избор" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_Свързване..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Свързване" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "С какъв псевдоним бихте желали да виждате този контакт?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Тема:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Jabber сметка" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Разговор" + +#~ msgid "List the available accounts" +#~ msgstr "Списък на наличните сметки" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Сметка за свързване при начално зареждане" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "ИМЕ-НА-СМЕТКА" + +#~ msgid "Available accounts:" +#~ msgstr "Налични сметки:" + +#~ msgid "[default]" +#~ msgstr "[по подразбиране]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Не е открита сметка с име \"%s\"." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Влизане" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Разговор" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossip - разговор" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "<b>Изчакване за отговор от сървъра...</b>" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[по подразбиране]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Разговор" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s ще бъде добавен към списъка ви с контакти." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "%s ще бъде добавен към списъка ви с контакти." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Искане за записване" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "_Данни за контакта" + +#, fuzzy +#~ msgid "New subscription request from %s" +#~ msgstr "Искане за записване" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "Наистина ли исакте да премахнете\n" +#~ "%s\n" +#~ "от списъка ви с контакти?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "Наистина ли исакте да премахнете\n" +#~ "%s\n" +#~ "от списъка ви с контакти?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Въведете паролата си:" + +#~ msgid "Remember Password?" +#~ msgstr "Запомняне на паролата" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Разговор" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "%s се включи" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Ще одобрите ли искането?" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "Потребителско име:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "Интернет страница:" + +#~ msgid "Web site:" +#~ msgstr "Интернет страница:" + +#~ msgid "_Accept" +#~ msgstr "_Одобряване" + +#~ msgid "_Deny" +#~ msgstr "От_хвърляне" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Отметки:</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Jabber сметка" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - редактиране на стаи за разговор" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - разговор" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Влизане" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Без автоматично свързване в началото" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Име:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Сървър:" + +#~ msgid "_Nickname:" +#~ msgstr "_Псевдоним:" + +#~ msgid "_Room:" +#~ msgstr "_Стая:" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>Отметки:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Данни за клиента" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Отметки:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "Състояние" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "Лични данни" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Записване" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Например ivancho@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Jabber сметка" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "_Добавяне на контакт..." + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Разговор" + +#~ msgid "Client:" +#~ msgstr "Клиент:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "_Добавяне на контакт..." + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Без автоматично свързване в началото" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "_Добавяне на контакт..." + +#~ msgid "Country:" +#~ msgstr "Страна:" + +#~ msgid "Decide _Later" +#~ msgstr "Отлагане на _решението" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "_Добавяне на контакт..." + +#~ msgid "Edit Groups" +#~ msgstr "Редактиране на групите" + +#~ msgid "Email:" +#~ msgstr "Е-поща:" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "JID" + +#~ msgid "Name:" +#~ msgstr "Име:" + +#~ msgid "OS:" +#~ msgstr "Операционна система:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "_Лични данни" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "_Регистриране..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Търсене..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Gossip - пращане на съобщение" + +#, fuzzy +#~ msgid "Subscription Request" +#~ msgstr "Искане за записване" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "С какъв псевдоним бихте желали да виждате този контакт?" + +#, fuzzy +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Това ще бъде отличителното ви име в разговорите." + +#, fuzzy +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "Това ще бъде отличителното ви име в разговорите." + +#~ msgid "Use system pro_xy" +#~ msgstr "Използване на системния уеб-_посредник" + +#~ msgid "Version:" +#~ msgstr "Версия:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "_Разговор" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Какво потребителско име бихте желали да използвате?" + +#, fuzzy +#~ msgid "You are not subscribed to this contact." +#~ msgstr "" +#~ "Не сте записани за промените в състоянието на контакта. Натиснете " +#~ "\"Записване\", ако искате да можете да виждате състоянието на контакта." + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Свързване" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Описание" + +#~ msgid "_Disconnect" +#~ msgstr "_Изключване" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Е-поща:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Въведете идентификатора на потребителя, на когото искате да изпратите " +#~ "съобщение." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Порт:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Име:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Група" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Псевдоним:" + +#~ msgid "_Password:" +#~ msgstr "_Парола:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "_Съобщения за състояние" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "_Премахване" + +#~ msgid "_Subscribe" +#~ msgstr "_Записване" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Интернет страница:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>Настройки на сметка</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>Настройки на сметка</b>" + +#~ msgid "Preset status messages" +#~ msgstr "Вградени съобщения за състояние" + +#~ msgid "Preset status messages." +#~ msgstr "Вградени съобщения за състояние." + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "Свързване" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s ще бъде добавен към списъка ви с контакти." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "_Jabber идентификатор на новия контакт:" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Въведете паролата си:" + +#~ msgid "Contact Information for %s" +#~ msgstr "Данни за контакта %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_Данни за контакта" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/Пре_именуване на контакта" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/_Редактиране на групите" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "_Разговор" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Въведете нов псевдоним за контакта\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Редактиране на групите на %s" + +#~ msgid "Conversation Log" +#~ msgstr "Запис на разговора" + +#~ msgid "Registering account" +#~ msgstr "Регистриране на сметката" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Причина:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "_Редактиране на отметките..." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Име:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossip - разговор" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Данните се получават, моля изчакайте...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Например ivancho@jabber.org</span>" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - разговор" + +#, fuzzy +#~ msgid "Connection Details" +#~ msgstr "Настройки" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Имате ли регистрирана сметка към някой Jabber сървър?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Въведете нов псевдоним за контакта\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Въведете нов псевдоним за контакта\n" +#~ "%s" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Настройката приключи" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip е съвременен клиент за мрежата за моментни съобщения Jabber.\n" +#~ "\n" +#~ "Този помощник ще ви преведе през настройките на Gossip и ще ви свърже към " +#~ "предпочитания от вас Jabber сървър.\n" +#~ "\n" +#~ "За да започнете, просто натиснете \"Напред\"." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "За да можете да виждате състоянието на потребителя ще бъде изпратено " +#~ "запитване. Докато не бъде одобрено искането, потребителят винаги ще се " +#~ "вижда в списъка ви като \"Изключен\"." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "В коя група да бъде поставен контактът?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Nickname:" +#~ msgstr "Псевдоним:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "_Порт:" + +#, fuzzy +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "" +#~ "Не сте записани за промените в състоянието на контакта. Натиснете " +#~ "\"Записване\", ако искате да можете да виждате състоянието на контакта." + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Регистриране на сметката" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "_Ресурс:" + +#~ msgid "Sending request" +#~ msgstr "Изпращане на запитване" + +#~ msgid "Server:" +#~ msgstr "Сървър:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "Интернет страница:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Добре дошли в Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Каква система за моментни съобщения използва контактът?" + +#~ msgid "What is your name?" +#~ msgstr "Как е истинското ви име?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Кой сървър бихте желали да използвате?" + +#~ msgid "What username do you use?" +#~ msgstr "Какво потребителско име използвате?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Какво потребителско име бихте желали да използвате?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "В коя група да бъде поставен контактът?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Gossip вече е настроен за системата ви.\n" +#~ "Можете впоследствие да промените настройките на сметката си, като " +#~ "изберете Разговор->Свързване... от менюто." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Jabber сметка" + +#~ msgid "Your Identity" +#~ msgstr "Вашите данни" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gossip - разговор" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Не" + +#~ msgid "_Search..." +#~ msgstr "_Търсене..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Да" + +#~ msgid "Be silent when away" +#~ msgstr "Без звуци в състояние \"Отсъствам\"" + +#~ msgid "Be silent when busy" +#~ msgstr "Без звуци в състояние \"Зает\"" + +#~ msgid "Height of main window" +#~ msgstr "Височина на основния прозорец" + +#~ msgid "The X position of the main window." +#~ msgstr "Разположение на основния прозорец по хоризонтала." + +#~ msgid "The Y position of the main window." +#~ msgstr "Разположение на основния прозорец по вертикала." + +#~ msgid "The width of the main window." +#~ msgstr "Широчината на основния прозорец" + +#~ msgid "Width of the main window" +#~ msgstr "Широчина на основния прозорец" + +#~ msgid "X position of main window" +#~ msgstr "Разположение на основния прозорец по хоризонтала" + +#~ msgid "Y position of main window" +#~ msgstr "Разположение на основния прозорец по вертикала" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, програма за моментни съобщения" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Скирване на основния прозорец" + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "_Данни за сметката" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Съобщение за състояние" + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s се изключи" + +#~ msgid "Available..." +#~ msgstr "На линия..." + +#~ msgid "Busy..." +#~ msgstr "Зает..." + +#~ msgid "Away..." +#~ msgstr "Отсъствам..." + +#~ msgid "Contact _Information" +#~ msgstr "_Данни за контакта" + +#, fuzzy +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Кратко представяне</b>" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - разговор" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "_Влизане в стая за разговори..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "_Порт:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Данни за клиента" + +#, fuzzy +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "Получаване на лични данни, моля изчакайте..." + +#, fuzzy +#~ msgid "Could not open connection" +#~ msgstr "Неуспех при свързването" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Кой сървър бихте желали да използвате?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>Свързване към сървър</b>" + +#~ msgid "Written by:" +#~ msgstr "Програмиране:" + +#~ msgid "Artwork by:" +#~ msgstr "Графично оформление:" + +#~ msgid "Translated by:" +#~ msgstr "Превод:" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "_Данни за сметката" + +#~ msgid "%sChat - %s" +#~ msgstr "%sРазговор - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Записани разговори" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Версия:" + +#~ msgid "View Lo_g" +#~ msgstr "Преглед на записите" + +#, fuzzy +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - влизане в стая за разговори" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Добяване на контакт" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "_Данни за контакта" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - редактиране на стаи за разговор" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - разговор" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - пращане на съобщение" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Лични данни" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Настройки" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - пращане на съобщение" + +#, fuzzy +#~ msgid "Personal Details Saved!" +#~ msgstr "Лични данни" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Къкъв да бъде текстът на запитването до %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Проверете дали данните на сметката ви са правилно въведени." + +#~ msgid "%s wants to be notified of your status." +#~ msgstr "%s иска да може да вижда промените в състоянието ви." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Връзката със сървъра е прекъсната. Желаете ли повторно свързване?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Проверете дали данните на сметката ви са правилно въведени. Освен това " +#~ "сървърът може в момента да е недостъпен." + +#~ msgid "Edit List..." +#~ msgstr "Редактиране на списъка..." + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "Възникна грешка по време на разговор в стая %s." + +#~ msgid "Details:" +#~ msgstr "Подробности:" + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Неуспешно влизане в стая %s." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "Възникна грешка по време на разговор с %s." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip ще опита да използва сметката " + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip ще опита да регистрира сметката " + +#~ msgid "Saving personal details, please wait..." +#~ msgstr "Записване на личните данни, моля изчакайте..." + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "От:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - получени съобщения" + +#~ msgid "In reply to:" +#~ msgstr "В отговор на:" + +#~ msgid "To:" +#~ msgstr "До:" + +#~ msgid "_Reply..." +#~ msgstr "_Отговор..." + +#~ msgid "_Send" +#~ msgstr "_Изпращане" + +#~ msgid "C_onnect" +#~ msgstr "_Свързване" + +#~ msgid "Connect _Server:" +#~ msgstr "_Сървър за свързване:" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Налични стаи за разговор</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Данни за стаята за разговори</b>" + +#~ msgid "Imendio Gossip - Group Chat" +#~ msgstr "Imendio Gossip - стая за разговори" + +#~ msgid "N_ickname:" +#~ msgstr "Псевдо_ним:" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "" +#~ "Изберете отметка или въведете псевдоним, име на сървър и име на стая за " +#~ "разговори, в която искате да влезете." + +#~ msgid "R_emove" +#~ msgstr "_Премахване" + +#~ msgid "_Add" +#~ msgstr "_Добавяне" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "" +#~ "<b>Finding the best server...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>Откриване на най-подходящия сървър...</b>\n" +#~ "Това ще отнеме малко време, моля изчакайте!" + +#~ msgid "<b>Personal information</b>" +#~ msgstr "<b>Лични данни</b>" + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Задаване на съобщения за състояние</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Данните не са налични</i>" + +#~ msgid "Add Another Account" +#~ msgstr "Добавяне на друга сметка" + +#~ msgid "Choose a Server" +#~ msgstr "Избор на сървър" + +#~ msgid "Choose from list:" +#~ msgstr "Избор от списък:" + +#~ msgid "Configuring Service" +#~ msgstr "Настройка на услуга" + +#~ msgid "Discover Services" +#~ msgstr "Откриване на услуги" + +#~ msgid "Information about ..." +#~ msgstr "Данни за ..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "Nick name:" +#~ msgstr "Псевдоним:" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "На кой сървър имате регистрирана Jabber сметка?" + +#~ msgid "" +#~ "Please enter your user name, password and all other required details " +#~ "below to set up your account. " +#~ msgstr "" +#~ "Въведете потребителско име, парола и всички други нужни данни за " +#~ "настройка на сметката ви. " + +#~ msgid "Server Details" +#~ msgstr "Данни за сървъра" + +#~ msgid "Sound" +#~ msgstr "Звуци" + +#~ msgid "" +#~ "This wizard will allow you to configure your account settings for another " +#~ "protocol. " +#~ msgstr "" +#~ "Този помощник ще ви помогне да настроите сметката си за използване на " +#~ "друг протокол. " + +#~ msgid "Use a different server" +#~ msgstr "Друг сървър" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Къкъв да бъде текстът на запитването до ...?" + +#~ msgid "Which protocol would you like to set up? " +#~ msgstr "Кой протокол искате да настроите?" diff --git a/trunk/po/ca.po b/trunk/po/ca.po new file mode 100644 index 000000000..2a44b7bb6 --- /dev/null +++ b/trunk/po/ca.po @@ -0,0 +1,3090 @@ +# Catalan translation for Gossip +# Copyright © 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This file is distributed under the same licence as the gossip package. +# Jordi Mallach <jordi@sindominio.net>, 2003, 2004, 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip 0.11.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-08-26 16:58+0200\n" +"Last-Translator: Jordi Mallach <jordi@sindominio.net>\n" +"Language-Team: Catalan <tradgnome@softcatala.org>\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/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Missatgeria instantània" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Missatgeria instantània" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Obre sempre una finestra de xat separada per a xats nous." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Tema de la finestra de xat" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Llista separada per comes de les llengües de corrector ortogràfic a " +"utilitzar (p. ex. ca, en, es, fr)." + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Cap contacte" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "El directori per defecte des d'on seleccionar una imatge d'àvatar" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Habilita les finestres emergents quan un contacte és disponible" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Habilita els sons quan s'està absent" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Habilita els sons quan s'està ocupat" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "Habilita el corrector ortogràfic" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Amaga la finestra principal" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Amaga la finestra principal." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Obre les finestres de xat noves en finestres separades" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Mostra els àvatars" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "Mostra un consell sobre tancar la finestra principal" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Mostra els contactes desconnectats" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Llengües per a la correcció ortogràfica" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "L'últim directori des d'on es va seleccionar una imatge d'àvatar." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "El tema que s'usa per a mostrar la conversa a les finestres de xat." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Utilitza emoticones gràfiques" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Utilitza sons de notificació" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "Usa el tema per a les sales de xat" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" +"Si s'han de comprovar o no les paraules introduïdes contra les llengües amb " +"les quals voler fer comprovacions." + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Si s'ha de convertir o no les emoticones a imatges gràfiques a les converses." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Si s'ha de reproduir o no un so quan arriba un missatge." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Si s'ha de reproduir o no sons quan s'està absent." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Si s'ha de reproduir o no sons quan s'està ocupat." + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "" +"Si s'ha de mostrar o no una finestra emergent quan un contacte esdevé " +"disponible." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Si s'han de mostrar o no els àvatars per als contactes a la llista de " +"contactes i finestres de xat." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" +"Si s'han de mostrar o no els contactes que estan desconnectats a la llista " +"de contactes." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"Si s'ha de mostrar o no el diàleg de missatge sobre tancar la finestra " +"principal amb el botó «x» de la barra de títol." + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Si s'ha d'usar o no el tema per a les sales de xat." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "Si s'ha d'usar o no el tema per a les sales de xat." + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Desconnectat" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Disponible" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Ocupat" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Absent" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Mostra els contactes" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Grup" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "Contacte" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Mostra la llista de contactes" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "Context" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "Uneix-te als _favorits" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Uneix-te a un _nou..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +#, fuzzy +msgid "Manage Favorites..." +msgstr "Uneix-te als _favorits" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "M_ostra els contactes desconnectats" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "_Quant a" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Comptes" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Afegeix un contacte..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Xat" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Continguts" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "_Edita" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "A_juda" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Nou missatge..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "Informació _personal" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Preferències" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Surt" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Sala" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "_Visualitza les converses anteriors" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Estat" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Mostra la llista de contactes" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "Un client de missatgeria instantània per al GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "Jordi Mallach <jordi@sindominio.net>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Disponible" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "Habilita" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Configuració del compte</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Configuració del compte</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Comptes" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"Esteu a punt de suprimir el vostre compte %s.\n" +"Esteu segur de voler continuar?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Qualsevol conversa i sales de xat associades NO es suprimiran si decidiu " +"continuar.\n" +"\n" +"Si decidiu tornar a afegir el compte més tard, encara seran disponibles." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Compte</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Compte</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Configuració del compte</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Xateja!" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +#, fuzzy +msgid "Imendio " +msgstr "Imendio Gossip" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Nom:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Tema:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Exemple: usuari@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "I_D d'entrada:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "Con_trasenya:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "Rec_urs:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Utilitza el _xifrat (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Port:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Servidor:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>Configuració del compte</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Desconnectat" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Insereix una emoticona" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Comprova l'ortografia de la paraula..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Connectat" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Neteja" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Xat" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "Infor_mació del contacte" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "Re_tall" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "Con_vida" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Insereix una e_moticona" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Missatge d'invitació:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "Convida" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Mou la pestanya a l'_esquerra" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Mou la pestanya a la d_reta" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "Seleccioneu qui voleu convidar:" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Us han convidat a unir-vos a una conferència de xat." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "_Afegeix als favorits" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "_Tanca" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Conversa" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "_Copia" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "D_esenganxa la pestanya" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "Pestanya següe_nt" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "_Enganxa" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Pestanya anterior" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "_Mostra els contactes" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "Pes_tanyes" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Còpia l'adreça de l'enllaç" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Obre l'enllaç" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Missatge nou" +msgstr[1] "Missatge nou" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "Sala de xat" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Conversa" +msgstr[1] "_Conversa" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "S'està teclejant un missatge..." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "_Contacte" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "_Grup" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "Xateja amb un contacte" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "Infor_mació" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "Visualitza la informació del contacte" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "/Rea_nomena" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "Reanomena" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "Edita els grups i nom per a aquest contacte" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Elimina" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "Suprimeix el contacte" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "Conv_ida a una sala de xat" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "Convida a una sala de xat actualment oberta" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "E_nvia un fitxer..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "Envia un fitxer" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "Visualitza les converses anteriors amb aquest contacte" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Llengua" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Aparença</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Àudio</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Comportament</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Connexió</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Llengües</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Opcions</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Visual</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>La llista de llengües només reflecteix les llengües per a les quals " +"teniu un diccionari instal·lat.</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" +"Els àvatar són imatges seleccionades per l'usuari que es mostren a la llista " +"de contactes" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "T_ema de xat:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Mostra les notificacions quan els contactes es c_onnecten" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Habilita els sons quan s'està _absent" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Habilita els sons quan s'està _ocupat" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "General" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Notificacions" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Preferències" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Mostra els àv_atars" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Mo_stra les emoticones com a imatges" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Mostra la llista de contactes" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +#, fuzzy +msgid "Sort by s_tate" +msgstr "Estableix l'estat:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Correcció ortogràfica" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +#, fuzzy +msgid "Themes" +msgstr "T_ema:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "_Habilita la correcció ortogràfica" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Obre xats nous en finestres separades" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "Re_produeix un so quan arriben missatges" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "_Utilitza a les sales de xat" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Missatge personalitzat..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Neteja la llista..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "Esteu segur de voler buidar la llista?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"Això suprimirà qualsevol missatge personalitzat que hagueu afegit a la " +"llista de missatges d'estat preestablerts." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Neteja la llista" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Introduïu el missatge d'estat:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Missatges d'estat predefinits" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "_Afegeix a la llista de missatges d'estat" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s s'ha desconnectat" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s s'ha connectat" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Clàssic" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Simple" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Net" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Blau" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "No connectes en iniciar" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Missatgeria instantània Gossip" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Missatgeria instantània Gossip" + +#~ msgid "Normal" +#~ msgstr "Normal" + +#~ msgid "Joining" +#~ msgstr "S'està entrant" + +#~ msgid "Active" +#~ msgstr "Actiu" + +#~ msgid "Inactive" +#~ msgstr "Inactiu" + +#~ msgid "Unknown" +#~ msgstr "Desconegut" + +#~ msgid "Error" +#~ msgstr "Error" + +#, fuzzy +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "Gallec" +#~ msgstr[1] "Gallec" + +#, fuzzy +#~ msgid "No role" +#~ msgstr "Normal" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Notificacions" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "El sobrenom que heu triat ja està en ús." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "" +#~ "La sala de xat a la qual heu intentat unir-vos requereix una contrasenya." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "" +#~ "El servidor de conferències remot no ha contestat en un temps raonable." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "" +#~ "No s'ha trobat el servidor de conferències al qual heu intentat unir-vos." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "" +#~ "S'ha produït un error desconegut, comproveu que els vostres detalls són " +#~ "correctes." + +#, fuzzy +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "Uneix-te a la sala de xat" + +#~ msgid "Unavailable" +#~ msgstr "No disponible" + +#~ msgid "An unknown error occurred." +#~ msgstr "S'ha produït un error desconegut." + +#~ msgid "Connection refused." +#~ msgstr "S'ha rebutjat la connexió." + +#~ msgid "Server address could not be resolved." +#~ msgstr "No s'ha pogut resoldre l'adreça del servidor." + +#~ msgid "Connection timed out." +#~ msgstr "S'ha exhaurit el temps d'espera de la connexió." + +#~ msgid "Authentication failed." +#~ msgstr "Ha fallat l'autenticació." + +#~ msgid "The username you are trying already exists." +#~ msgstr "El nom d'usuari que esteu intentant fer servir ja existeix." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "El nom d'usuari que esteu intentant fer servir no és vàlid." + +#~ msgid "This feature is unavailable." +#~ msgstr "Aquesta funcionalitat no està disponible." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Aquesta funcionalitat no està autoritzada." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "S'ha produït un error de protocol específic inesperat." + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Compte nou" + +#~ msgid "Home" +#~ msgstr "Casa" + +#~ msgid "Couldn't send message!" +#~ msgstr "No s'ha pogut enviar el missatge!" + +#~ msgid "Connection could not be opened" +#~ msgstr "No s'ha pogut obrir la connexió" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Aquesta funcionalitat no està disponible." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Enregistrament" + +#, fuzzy +#~ msgid "There was an internal service error" +#~ msgstr "Error intern del servidor" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Aquesta funcionalitat no està autoritzada." + +#, fuzzy +#~ msgid "The remote service timed out" +#~ msgstr "Temps d'espera esgotat per a un servidor remot" + +#~ msgid "Stop" +#~ msgstr "Atura" + +#~ msgid "Disconnect" +#~ msgstr "Desconnecta" + +#~ msgid "Connect" +#~ msgstr "Connecta" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "S'ha registrat el compte correctament" + +#, fuzzy +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "No podeu utilitzar --no-connect amb --account" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "No s'han pogut registrar els paràmetres del compte nous." + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Introduïu la contrasenya del vostre compte:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Introduïu la contrasenya del vostre compte:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Introduïu un nom nou per al grup:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "No hi ha informació disponible per a aquest contacte." + +#~ msgid "Information requested, please wait..." +#~ msgstr "S'ha demanat la informació, espereu, si us plau..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "M'agradaria afegir-te a la meua llista de contactes." + +#~ msgid "To summarize:" +#~ msgstr "En resum:" + +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "%d missatge nou" +#~ msgstr[1] "%d missatges nous" + +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "%d petició de subscripció" +#~ msgstr[1] "%d peticions de subscripció" + +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "%d petició de transferència de fitxer" +#~ msgstr[1] "%d peticions de transferència de fitxer" + +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "%d missatge del servidor" +#~ msgstr[1] "%d missatges del servidor" + +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "%d error" +#~ msgstr[1] "%d errors" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Si sortiu, perdreu tota la informació no llegida." + +#~ msgid "Gossip is still running, it is just hidden." +#~ msgstr "El Gossip encara s'està executant, només està amagat." + +#~ msgid "Click on the notification area icon to show Gossip." +#~ msgstr "Feu clic a l'àrea de notificació per a mostrar el Gossip." + +#~ msgid "You were about to quit!" +#~ msgstr "Estàveu a punt de sortir!" + +#~ msgid "" +#~ "Since no system or notification tray has been found, this action would " +#~ "normally quit Gossip.\n" +#~ "\n" +#~ "This is just a reminder, from now on, Gossip will quit when performing " +#~ "this action unless you uncheck the option below." +#~ msgstr "" +#~ "Com no s'ha trobat una safata del sistema o de notificació, aquesta acció " +#~ "normalment sortiria del Gossip.\n" +#~ "\n" +#~ "Això només és un recordatori, des d'ara Gossip sortirà quan realitzeu " +#~ "aquesta acció a no ser que desmarqueu la següent opció." + +#~ msgid "Edit Account _Details" +#~ msgstr "Edita els _detalls del compte" + +#~ msgid "Click to enlarge" +#~ msgstr "Feu clic per a fer gran" + +#~ msgid "Word" +#~ msgstr "Paraula" + +#~ msgid "Select who would you like to invite to room:" +#~ msgstr "Seleccioneu a qui us agradaria convidar a la sala:" + +#~ msgid "Select which room you would like to invite:" +#~ msgstr "Seleccioneu a quina sala voldrieu convidar:" + +#~ msgid "New message from %s" +#~ msgstr "Nou missatge de %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "S'ha declinat la vostra invitació" + +#~ msgid "Accept" +#~ msgstr "Accepta" + +#~ msgid "Decline" +#~ msgstr "Declina" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Nom:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Sala" + +#~ msgid "Auto Connect" +#~ msgstr "Connexió automàtica" + +#~ msgid "Information requested..." +#~ msgstr "S'ha demanat la informació..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "Voleu eliminar aquest contacte de la llista de contactes?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Introduïu un nom nou per al grup:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Selecciona" + +#~ msgid "Unsorted" +#~ msgstr "Sense ordenar" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server." +#~ msgstr "" +#~ "Establiu l'àlias que voleu usar per a:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Podeu obtenir informació del contacte des del servidor." + +#~ msgid "New file transfer request from %s" +#~ msgstr "Petició de transferència de fitxer nova de %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "La transferència de fitxers no està suportada pels dos usuaris." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "S'ha declinat el vostre oferiment de transferència." + +#~ msgid "The other user decided not to continue." +#~ msgstr "L'altre usuari ha decidit no continuar." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "" +#~ "S'ha produït un error desconegut durant la transferència del fitxer." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s vol enviar-vos un fitxer." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Algú vol enviar-vos un fitxer." + +#~ msgid "Select a file" +#~ msgstr "Seleccioneu un fitxer" + +#~ msgid "Connecting..." +#~ msgstr "S'està connectant..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Atura la connexió" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "S'ha convidat a %s a unir-se a aquesta conferència de xat." + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s ha establert el tema" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Quin àlies voleu utilitzar per a aquest contacte?" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "%s ha establert el tema" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "%s ha establert el tema" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Tema:" + +#~ msgid "Account" +#~ msgstr "Compte" + +#~ msgid "Conversation With" +#~ msgstr "Conversa amb" + +#~ msgid "Date" +#~ msgstr "Data" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "Permet que s'executen diverses instàncies de l'aplicació a l'hora" + +#~ msgid "List the available accounts" +#~ msgstr "Llista els comptes disponibles" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "A quin compte connectar en iniciar" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "NOM-COMPTE" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "No podeu utilitzar --no-connect amb --account" + +#~ msgid "No accounts available." +#~ msgstr "No hi ha comptes disponibles." + +#~ msgid "Available accounts:" +#~ msgstr "Comptes disponibles:" + +#~ msgid "[default]" +#~ msgstr "[predeterminat]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "No hi ha cap compte amb el nom «%s»." + +#~ msgid "Join" +#~ msgstr "Uneix-te" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Data" + +#~ msgid "Chat Rooms" +#~ msgstr "Sales de xat" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "S'està intentant unir-se al xat en grup, espereu..." + +#~ msgid "Default" +#~ msgstr "Predeterminat" + +#~ msgid "Chat!" +#~ msgstr "Xateja!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s vol afegir-se a la vostra llista de contactes." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Algú vol afegir-se a la vostra llista de contactes." + +#~ msgid "Subscription request" +#~ msgstr "Petició de subscripció" + +#~ msgid "Show" +#~ msgstr "Mostra" + +#~ msgid "Contact Information" +#~ msgstr "Informació del contacte" + +#~ msgid "Subject: %s" +#~ msgstr "Assumpte: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Suggeriments per a la paraula" + +#~ msgid "New subscription request from %s" +#~ msgstr "Petició de subscripció nova de %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Voleu afegir a aquesta persona a la vostra llista de contactes?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Voleu afegir a %s a la vostra llista de contactes?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Si us plau, introduïu la contrasenya per al compte %s" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "S'està entrant amb: %s" + +#~ msgid "Remember Password?" +#~ msgstr "Voleu que es recorde la contrasenya?" + +#~ msgid "Do not show this again" +#~ msgstr "No mostres això de nou" + +#~ msgid "Could not display the help contents." +#~ msgstr "No s'han pogut mostrar els continguts de l'ajuda." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Seleccioneu la vostra imatge d'àvatar" + +#~ msgid "No Image" +#~ msgstr "Cap imatge" + +#~ msgid "Cancel" +#~ msgstr "Cancel·la" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Sembla que el servidor no està responent." + +#~ msgid "Try again later." +#~ msgstr "Proveu-ho més tard." + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Cancel·la" + +#~ msgid "Contact goes offline" +#~ msgstr "El contacte s'ha desconnectat" + +#~ msgid "Contact goes online" +#~ msgstr "El contacte s'ha connectat" + +#~ msgid "Contact ID:" +#~ msgstr "ID del contacte:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Voleu acceptar aquest fitxer?" + +#~ msgid "File Transfer Request" +#~ msgstr "Petició de transferència de fitxer" + +#~ msgid "File name:" +#~ msgstr "Nom del fitxer:" + +#~ msgid "File size:" +#~ msgstr "Mida del fitxer:" + +#~ msgid "Not supported yet" +#~ msgstr "Encara no està implementat" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Aquesta persona us vol enviar aquest fitxer:" + +#~ msgid "Web site:" +#~ msgstr "Pàgina web:" + +#~ msgid "_Accept" +#~ msgstr "_Accepta" + +#~ msgid "_Deny" +#~ msgstr "_Denega" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Grups</b>" + +#~ msgid "Account:" +#~ msgstr "Compte:" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Edita la sala de xat" + +#~ msgid "Group Chat" +#~ msgstr "Xat en grup" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "Uneix-te a un _nou..." + +#~ msgid "Join room on start_up" +#~ msgstr "Uneix-te a la sala en _iniciar" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "" +#~ "Uneix-te a aquesta sala de xat quan s'inicie el Gossip i es connecte" + +#, fuzzy +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Gestiona les sales de xat" + +#~ msgid "N_ame:" +#~ msgstr "N_om:" + +#~ msgid "S_erver:" +#~ msgstr "S_ervidor:" + +#~ msgid "_Nickname:" +#~ msgstr "Àl_ies:" + +#~ msgid "_Room:" +#~ msgstr "Sa_la:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>Quant a</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Informació del client</b>" + +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Grups</b>" + +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Nom</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Detalls personals</b>" + +#~ msgid "<b>Status</b>" +#~ msgstr "<b>Estat</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Subscripció" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Exemple: Pere o usuari@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Compte:" + +#~ msgid "Add Contact" +#~ msgstr "Afegeix un contacte" + +#, fuzzy +#~ msgid "Alia_s:" +#~ msgstr "Àlies:" + +#~ msgid "Avatar:" +#~ msgstr "Àvatar:" + +#, fuzzy +#~ msgid "C_hange" +#~ msgstr "Cancel·la" + +#~ msgid "Ch_at" +#~ msgstr "X_at" + +#~ msgid "Client:" +#~ msgstr "Client:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "Contacte" + +#~ msgid "Connect on S_tartup" +#~ msgstr "Connec_ta en iniciar" + +#~ msgid "Contacts" +#~ msgstr "Contactes" + +#~ msgid "Country:" +#~ msgstr "Estat:" + +#~ msgid "Decide _Later" +#~ msgstr "_Decideix després" + +#~ msgid "Edit Contact" +#~ msgstr "Edita el contacte" + +#~ msgid "Edit Groups" +#~ msgstr "Edita els grups" + +#~ msgid "Email:" +#~ msgstr "Correu electrònic:" + +#~ msgid "ID:" +#~ msgstr "ID:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Si trieu decidir-ho més tard, se us tornarà a preguntar la pròxima vegada " +#~ "que entreu." + +#~ msgid "Name:" +#~ msgstr "Nom:" + +#~ msgid "OS:" +#~ msgstr "SO:" + +#~ msgid "Personal Details" +#~ msgstr "Detalls personals" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Re_gistra'm..." + +#~ msgid "Search" +#~ msgstr "Cerca" + +#~ msgid "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." +#~ msgstr "" +#~ "Seleccioneu els grups en els quals voleu que aparega aquest contacte, " +#~ "podeu seleccionar més d'un grup o cap grup." + +#, fuzzy +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Establiu l'àlias que voleu usar per a:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Podeu obtenir informació del contacte des del servidor." + +#~ msgid "Spell Checker" +#~ msgstr "Corrector ortogràfica" + +#~ msgid "Subscription Request" +#~ msgstr "Petició de subscripció" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Suggeriments per a la paraula:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Això actua com un filtre per a la llista de contactes. Podeu utilitzar " +#~ "segments del nom del contacte o ID; per exemple, «jabber.org» mostrarà a " +#~ "tothom que utilitze aquest servidor" + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "" +#~ "Aquest és el nom que s'utilitzarà per a aquest contacte a la vostra " +#~ "llista de contactes" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Aquest nom s'usarà per a indentificar-vos en les finestres de xat" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Aquest nom s'usarà per a indentificar-vos quan contactes nous cerquen els " +#~ "vostres detalls" + +#~ msgid "Use default name here from the contact's VCard." +#~ msgstr "Utilitza ací el nom per defecte de l'VCard del contacte." + +#~ msgid "Use system pro_xy" +#~ msgstr "Utilitza el _servidor intermediari del sistema" + +#~ msgid "Version:" +#~ msgstr "Versió:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Visualitza les converses anteriors" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Quin compte voleu utilitzar?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "No esteu subscrit a aquest contacte." + +#, fuzzy +#~ msgid "_Birthday:" +#~ msgstr "_Prioritat:" + +#~ msgid "_Connect" +#~ msgstr "_Connecta" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Descripció:" + +#~ msgid "_Disconnect" +#~ msgstr "_Desconnecta" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Correu electrònic:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "Introduïu l'ID d'usuari de la persona amb la qual voleu xatejar:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Port:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "_Nom:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "_Grup" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "Àl_ies:" + +#~ msgid "_Password:" +#~ msgstr "Con_trassenya:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Missatge d'e_stat" + +#~ msgid "_Retrieve" +#~ msgstr "_Obté" + +#~ msgid "_Subscribe" +#~ msgstr "_Subscriu" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Pàgina web:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>Configuració del compte</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>Configuració del compte</b>" + +#~ msgid "Edit" +#~ msgstr "Edita" + +#~ msgid "Connecting" +#~ msgstr "S'està connectant" + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "Potser us esteu intentant connectar al port incorrecte?" + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "Potser el servei no s'està executant actualment?" + +#~ msgid "Check your connection details." +#~ msgstr "Comproveu els detalls de la connexió." + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "Potser el servidor no està executant aquest servei." + +#~ msgid "Check your username and password are correct." +#~ msgstr "Comproveu que el vostre nom d'usuari i contrasenya són correctes." + +#~ msgid "%s will be added to your contact list." +#~ msgstr "S'afegirà a %s a la vostra llista de contactes." + +#~ msgid "%s ID of new contact:" +#~ msgstr "%s ID del nou contacte:" + +#~ msgid "Example: %s" +#~ msgstr "Exemple: %s" + +#~ msgid "Show accounts and pending connections" +#~ msgstr "Mostra els comptes i les connexions pendents" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "No teniu cap compte de missatgeria instantània configurat!" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "" +#~ "A continuació s'obrirà el diàleg d'Informació del compte per a que " +#~ "establiu els vostres paràmetres." + +#~ msgid "Favourite" +#~ msgstr "Favorit" + +#~ msgid "Registering account" +#~ msgstr "S'està registrant el compte" + +#~ msgid "Example" +#~ msgstr "Exemple" + +#~ msgid "Add to _favourites" +#~ msgstr "Afegeix als _favorits" + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "" +#~ "Personalitzeu el vostre sobrenom, el servidor i sala de xat a la qual " +#~ "voleu entrar." + +#~ msgid "Edit your chat room details:" +#~ msgstr "Editeu els detalls de la sala de xat:" + +#~ msgid "Na_me:" +#~ msgstr "No_m:" + +#~ msgid "New Chat Room" +#~ msgstr "Sala de xat nova" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "" +#~ "Seleccioneu una sala de xat desada de les predefinides a continuació i " +#~ "feu clic en «Uneix-te» per a començar a xatejar." + +#~ msgid "Save _this chat room" +#~ msgstr "Desa aques_ta sala de xat" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>S'ha demanat la informació, espereu, si us plau...</b>" + +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Exemple:</span>" + +#~ msgid "Account Name" +#~ msgstr "Nom del compte" + +#~ msgid "Add a contact" +#~ msgstr "Afegeix un contacte" + +#~ msgid "Connection Details" +#~ msgstr "Detalls de la connexió" + +#~ msgid "Contact information" +#~ msgstr "Informació del contacte" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Teniu ja un compte configurat en un servidor?" + +#~ msgid "Enter a name for this account" +#~ msgstr "Introduïu un nom per a aquest compte" + +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "Introduïu el port utilitzat en la connexió per a aquest compte" + +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "Introduïu el servidor utilitzat en la connexió per a aquest compte" + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Introduïu l'ID de contacte de l'usuari:" + +#~ msgid "Enter your real name here" +#~ msgstr "Introduïu ací el vostre nom real" + +#~ msgid "Finished" +#~ msgstr "Finalitzat" + +#~ msgid "For increased security, enable this option" +#~ msgstr "Per a més seguretat, habiliteu aquesta opció" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip és un client modern per al sistema de missatgeria instantània " +#~ "Jabber.\n" +#~ "\n" +#~ "Aquest assistent vos ajudarà a configurar Gossip i connectar-vos al " +#~ "vostre\n" +#~ "servidor de Jabber favorit.\n" +#~ "\n" +#~ "Per començar, feu clic en «Endavant»." + +#~ msgid "Group:" +#~ msgstr "Grup:" + +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option" +#~ msgstr "" +#~ "Si teniu un altre ordinador que fa de «servidor intermediari» de la " +#~ "connexió a Internet i el voleu utilitzar, habiliteu aquesta opció" + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "Si necessiteu establir detalls de connexió específics, com un servidor o " +#~ "port diferent, ho podeu configurar ací:" + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Per a subscriure a les notificacions de presència de l'usuari, s'enviarà " +#~ "una petició. Fins que s'aprove aquesta petició, l'usuari es mostrarà " +#~ "sempre com «Desconnectat» a la vostra llista de contactes." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "A quin grup voleu afegir a aquest contacte?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "" +#~ "Leave this blank if you don't want your password stored on a public " +#~ "machine. If you decide to do this, you will be prompted each time you " +#~ "connect for a password" +#~ msgstr "" +#~ "Deixeu això en blanc si no voleu que s'emmagatzeme la vostra contrasenya " +#~ "en un ordinador públic. Si decidiu fer això, se us preguntarà per la " +#~ "contrasenya cada vegada que us connecteu" + +#~ msgid "Nickname:" +#~ msgstr "Àlies:" + +#~ msgid "Port:" +#~ msgstr "Port:" + +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "Premeu «Subscriu» per a demanar la recepció del seu estat" + +#~ msgid "Registering Account" +#~ msgstr "S'està registrant el compte" + +#~ msgid "Resource:" +#~ msgstr "Recurs:" + +#~ msgid "Sending request" +#~ msgstr "S'està enviant la petició" + +#~ msgid "Server:" +#~ msgstr "Servidor:" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Establiu l'àlias que voleu usar per a:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "Podeu obtenir informació del contacte des del servidor." + +#~ msgid "Web Site:" +#~ msgstr "Pàgina web:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Benvinguts a Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Quin sistema de missatgeria instantània utilitza el contacte?" + +#~ msgid "What is your name?" +#~ msgstr "Quin és el vostre nom?" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "Quin nom voleu utilitzar per a identificar aquest compte?\n" +#~ "\n" +#~ "Aquest nom pot ser alguna cosa associada amb el proveidor del servei, per " +#~ "exemple, <b>Google</b>." + +#~ msgid "What password do you want to use?" +#~ msgstr "Quina contrasenya voleu utilitzar?" + +#~ msgid "What username do you use?" +#~ msgstr "Quin nom d'usuari utilitzeu?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Quin nom d'usuari voleu utilitzar?" + +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "A quin compte voleu afegir a aquest contacte?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Podeu canviar els paràmetres del vostre compte més endavant, seleccionant " +#~ "l'element del menú «Edita->Comptes»." + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "" +#~ "Heu d'establir un nom per a la connexió, per exemple <b>Casa</b> o " +#~ "<b>Portàtil</b>." + +#~ msgid "Your Account" +#~ msgstr "El vostre compte" + +#~ msgid "Your Identity" +#~ msgstr "La vostra identitat" + +#~ msgid "Your new account has now been set up." +#~ msgstr "S'ha configurat el vostre compte nou." + +#~ msgid "_Forget" +#~ msgstr "_Oblida-la" + +#~ msgid "_Group Chat" +#~ msgstr "Xat en _grup" + +#~ msgid "_No" +#~ msgstr "_No" + +#~ msgid "_Search..." +#~ msgstr "_Cerca..." + +#~ msgid "_Yes" +#~ msgstr "_Sí" + +#~ msgid "Preset status messages" +#~ msgstr "Missatges d'estat preestablerts" + +#~ msgid "Preset status messages." +#~ msgstr "Missatges d'estat preestablerts." + +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "" +#~ "Introduïu el vostre missatge d'invitació a:\n" +#~ "%s" + +#~ msgid "Contact Information for %s" +#~ msgstr "Informació del contacte %s" + +#~ msgid "/Contact Infor_mation" +#~ msgstr "/Infor_mació del contacte" + +#~ msgid "/Re_name Contact" +#~ msgstr "/Rea_nomena el contacte" + +#~ msgid "/_Edit Groups" +#~ msgstr "/_Edita els grups" + +#~ msgid "/_View Previous Conversations" +#~ msgstr "/_Visualitza converses prèvies" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Introduïu un àlias nou per al contacte\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Edita els grups per %s" + +#~ msgid "Conversation Log" +#~ msgstr "Registre de conversa" + +#~ msgid "Respond" +#~ msgstr "Respon!" + +#~ msgid "Chat Rooms..." +#~ msgstr "Sales de xat..." + +#~ msgid "_Hide Contact List" +#~ msgstr "_Amaga la llista de contactes" + +#~ msgid "Be silent when away" +#~ msgstr "Sigues silenciós quan s'està absent" + +#~ msgid "Be silent when busy" +#~ msgstr "Sigues silenciós quan s'està ocupat" + +#~ msgid "Height of main window" +#~ msgstr "Alçada de la finestra principal" + +#~ msgid "The X position of the main window." +#~ msgstr "La posició X de la finestra principal." + +#~ msgid "The Y position of the main window." +#~ msgstr "La posició Y de la finestra principal." + +#~ msgid "The width of the main window." +#~ msgstr "L'amplada de la finestra principal." + +#~ msgid "Whether spell checking should be turned on." +#~ msgstr "Si s'hauria d'habilitar la correcció ortogràfica." + +#~ msgid "Width of the main window" +#~ msgstr "Amplada de la finestra principal" + +#~ msgid "X position of main window" +#~ msgstr "Posició X de la finestra principal" + +#~ msgid "Y position of main window" +#~ msgstr "Posició Y de la finestra principal" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, un client de missatgeria instantània" + +#~ msgid "Close this chat window" +#~ msgstr "Tanca aquesta finestra de xat" + +#~ msgid "Requested Information" +#~ msgstr "Informació sol·licitada" + +#~ msgid "Available..." +#~ msgstr "Disponible..." + +#~ msgid "Busy..." +#~ msgstr "Ocupat..." + +#~ msgid "Away..." +#~ msgstr "Absent..." + +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>So</b>" + +#~ msgid "Check spelling while I _type" +#~ msgstr "Comprova l'ortografia mentre s'escriu" + +#~ msgid "Join _Group Chat..." +#~ msgstr "Entra a un xat en _grup..." + +#~ msgid "Requested information." +#~ msgstr "S'ha demanat la informació." + +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "S'està demanant la informació del contacte, espereu..." + +#~ msgid "/_Invite to Chat Conference" +#~ msgstr "/_Convida a una conferència de xat" + +#~ msgid "Contact _Information" +#~ msgstr "_Informació del contacte" + +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Comptes" + +#~ msgid "Por_t:" +#~ msgstr "Por_t:" + +#~ msgid "Open" +#~ msgstr "Obert" + +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "No s'ha trobat el servidor que volieu utilitzar" + +#~ msgid "Connection to the server failed." +#~ msgstr "Ha fallat la connexió al servidor." + +#~ msgid "Authentication failed" +#~ msgstr "Ha fallat l'autenticació" + +#~ msgid "Written by:" +#~ msgstr "Escrit per:" + +#~ msgid "Artwork by:" +#~ msgstr "Art per:" + +#~ msgid "Translated by:" +#~ msgstr "Traduït per:" + +#~ msgid "Account ID" +#~ msgstr "ID del compte" + +#~ msgid "Last Error" +#~ msgstr "Últim error" + +#~ msgid "%sChat - %s" +#~ msgstr "%sXat - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Mostra el _registre" + +#~ msgid "Afrikaans" +#~ msgstr "Afrikaans" + +#~ msgid "Amharic" +#~ msgstr "Amhàric" + +#~ msgid "Arabic" +#~ msgstr "Àrab" + +#~ msgid "Azerbaijani" +#~ msgstr "Àzeri" + +#~ msgid "Belarusian" +#~ msgstr "Bielorús" + +#~ msgid "Bulgarian" +#~ msgstr "Búlgar" + +#~ msgid "Bengali" +#~ msgstr "Bengalès" + +#~ msgid "Breton" +#~ msgstr "Bretó" + +#~ msgid "Bosnian" +#~ msgstr "Bosni" + +#~ msgid "Catalan" +#~ msgstr "Català" + +#~ msgid "Czech" +#~ msgstr "Txec" + +#~ msgid "Welsh" +#~ msgstr "Gal·lès" + +#~ msgid "Danish" +#~ msgstr "Danès" + +#~ msgid "German" +#~ msgstr "Alemany" + +#~ msgid "German (Austria)" +#~ msgstr "Alemany (Àustria)" + +#~ msgid "German (Germany)" +#~ msgstr "Alemany (Alemanya)" + +#~ msgid "German (Swiss)" +#~ msgstr "Alemany (Suïssa)" + +#~ msgid "Greek" +#~ msgstr "Grec" + +#~ msgid "English" +#~ msgstr "Anglès" + +#~ msgid "English (Canadian)" +#~ msgstr "Anglès (canadenc)" + +#~ msgid "English (British)" +#~ msgstr "Anglès (britànic)" + +#~ msgid "English (American)" +#~ msgstr "Anglès (americà)" + +#~ msgid "Esperanto" +#~ msgstr "Esperanto" + +#~ msgid "Spanish" +#~ msgstr "Castellà" + +#~ msgid "Estonian" +#~ msgstr "Estonià" + +#~ msgid "Persian" +#~ msgstr "Persa" + +#~ msgid "Finnish" +#~ msgstr "Finès" + +#~ msgid "French" +#~ msgstr "Francès" + +#~ msgid "French (France)" +#~ msgstr "Francès (França)" + +#~ msgid "French (Swiss)" +#~ msgstr "Francès (Suïssa)" + +#~ msgid "Irish Gaelic" +#~ msgstr "Gaèlic irlandès" + +#~ msgid "Scots Gaelic" +#~ msgstr "Gaèlic escocès" + +#~ msgid "Gujarati" +#~ msgstr "Gujarati" + +#~ msgid "Manx Gaelic" +#~ msgstr "Manx" + +#~ msgid "Hebrew" +#~ msgstr "Hebreu" + +#~ msgid "Hindi" +#~ msgstr "Hindi" + +#~ msgid "Croatian" +#~ msgstr "Croat" + +#~ msgid "Hungarian" +#~ msgstr "Hongarès" + +#~ msgid "Indonesian" +#~ msgstr "Indonesi" + +#~ msgid "Icelandic" +#~ msgstr "Islandès" + +#~ msgid "Italian" +#~ msgstr "Italià" + +#~ msgid "Japanese" +#~ msgstr "Japonès" + +#~ msgid "Georgian" +#~ msgstr "Georgià" + +#~ msgid "Kannada" +#~ msgstr "Kannada" + +#~ msgid "Korean" +#~ msgstr "Coreà" + +#~ msgid "Kurdish" +#~ msgstr "Kurd" + +#~ msgid "Limburgish" +#~ msgstr "Limburguès" + +#~ msgid "Lithuanian" +#~ msgstr "Lituà" + +#~ msgid "Latvian" +#~ msgstr "Letó" + +#~ msgid "Maori" +#~ msgstr "Maori" + +#~ msgid "Macedonian" +#~ msgstr "Macedoni" + +#~ msgid "Malayalam" +#~ msgstr "Malailam" + +#~ msgid "Mongolian" +#~ msgstr "Mongol" + +#~ msgid "Marathi" +#~ msgstr "Marati" + +#~ msgid "Malay" +#~ msgstr "Malai" + +#~ msgid "Norwegian (Bokmal)" +#~ msgstr "Noruec (Bokmål)" + +#~ msgid "Nepali" +#~ msgstr "Nepalès" + +#~ msgid "Dutch" +#~ msgstr "Holandès" + +#~ msgid "Norwegian" +#~ msgstr "Noruec" + +#~ msgid "Norwegian (Nynorsk)" +#~ msgstr "Noruec (Nynorsk)" + +#~ msgid "Norwegian (Nyorsk)" +#~ msgstr "Norwegian (Nyorsk)" + +#~ msgid "Oriya" +#~ msgstr "Oriya" + +#~ msgid "Punjabi" +#~ msgstr "Panjabi" + +#~ msgid "Polish" +#~ msgstr "Polonès" + +#~ msgid "Portuguese" +#~ msgstr "Portuguès" + +#~ msgid "Portuguese (Portugal)" +#~ msgstr "Portuguès (Portugal)" + +#~ msgid "Portuguese (Brazil)" +#~ msgstr "Portuguès (Brasil)" + +#~ msgid "Romanian" +#~ msgstr "Romanès" + +#~ msgid "Russian" +#~ msgstr "Rus" + +# NOTA: Segons el Termcat (Josep) +#~ msgid "Kinyarwanda" +#~ msgstr "Kinyarwanda" + +#~ msgid "Slovak" +#~ msgstr "Eslovac" + +#~ msgid "Slovenian" +#~ msgstr "Eslovè" + +#~ msgid "Albanian" +#~ msgstr "Albanès" + +#~ msgid "Serbian" +#~ msgstr "Serbi" + +#~ msgid "Swedish" +#~ msgstr "Suec" + +#~ msgid "Tamil" +#~ msgstr "Tàmil" + +#~ msgid "Telugu" +#~ msgstr "Telugu" + +#~ msgid "Thai" +#~ msgstr "Tailandès" + +#~ msgid "Turkmen" +#~ msgstr "Turcman" + +#~ msgid "Turkish" +#~ msgstr "Turc" + +#~ msgid "Ukrainian" +#~ msgstr "Ucraïnès" + +#~ msgid "Vietnamese" +#~ msgstr "Vietnamita" + +#~ msgid "Wallon" +#~ msgstr "Való" + +#~ msgid "Xhosa" +#~ msgstr "Xhosa" + +# Nota: Segons el Termcat (Josep) +#~ msgid "Yiddish" +#~ msgstr "Jiddisch" + +#~ msgid "Chinese Simplified" +#~ msgstr "Xinès simplificat" + +#~ msgid "Chinese Traditional" +#~ msgstr "Xinès tradicional" + +#~ msgid "View Lo_g" +#~ msgstr "Visualitza el re_gistre" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - Xat en grup" + +#~ msgid "Gossip - New Chatroom" +#~ msgstr "Gossip - Sala de xat nova" + +#~ msgid "Idle" +#~ msgstr "Inactiu" + +#~ msgid "Progress:" +#~ msgstr "Progrés:" + +#~ msgid "Gossip - Add contact" +#~ msgstr "Gossip - Afegeix un contacte" + +#~ msgid "Gossip - Contact Information" +#~ msgstr "Gossip - Informació del contacte" + +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - Edita els grups" + +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - Compte nou" + +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - Missatge nou" + +#~ msgid "Gossip - Personal Details" +#~ msgstr "Gossip - Detalls personals" + +#~ msgid "Gossip - Preferences" +#~ msgstr "Gossip - Preferències" + +#~ msgid "Gossip - Spell Checker" +#~ msgstr "Gossip - Corrector ortogràfic" + +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - missatge d'estat" + +#~ msgid "Personal Details Saved!" +#~ msgstr "S'han desat els detalls personals." + +#~ msgid "Waiting for server to respond, please wait..." +#~ msgstr "S'està esperant a la resposta del servidor, espereu..." + +#~ msgid "" +#~ "You can identify this account with a name, for example, <b>Home</b> or " +#~ "<b>Work</b>. Choose a name for this account:" +#~ msgstr "" +#~ "Podeu identificar aquest compte amb un nom, com per exemple, <b>Casa</b> " +#~ "o <b>Feina</b>. Seleccioneu un nom per a aquest compte:" + +#~ msgid "Redirect" +#~ msgstr "Redirecció" + +#~ msgid "Bad Request" +#~ msgstr "Petició incorrecta" + +#~ msgid "Not Authorized" +#~ msgstr "No autoritzat" + +#~ msgid "Payment Required" +#~ msgstr "Es requereix pagament" + +#~ msgid "Forbidden" +#~ msgstr "Prohibit" + +#~ msgid "Not Found" +#~ msgstr "No s'ha trobat" + +#~ msgid "Not Allowed" +#~ msgstr "No permés" + +#~ msgid "Not Acceptable" +#~ msgstr "No acceptable" + +#~ msgid "Request Timeout" +#~ msgstr "Temps d'espera esgotat per a la petició" + +#~ msgid "Conflict" +#~ msgstr "Conflicte" + +#~ msgid "Not Implemented" +#~ msgstr "No implementat" + +#~ msgid "Remote Server Error" +#~ msgstr "Error d'un servidor remot" + +#~ msgid "Service Unavailable" +#~ msgstr "Servei no disponible" + +#~ msgid "Edit List..." +#~ msgstr "Edita la llista..." + +#~ msgid "Custom" +#~ msgstr "Personalitzat" + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip tractarà d'utilitzar el vostre compte:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip tractarà d'enregistrar el compte:" + +#~ msgid "" +#~ "If you continue, you will not be able to talk to the 1 contact you are " +#~ "using this account for!" +#~ msgstr "" +#~ "Si continueu, no podreu parlar amb el contacte amb qui esteu utilitzant " +#~ "aquest compte!" + +#~ msgid "" +#~ "If you continue, you will not be able to add or talk to contacts using " +#~ "this transport!" +#~ msgstr "" +#~ "Si continueu, no podreu afegir o parlar amb els contactes que utilitzen " +#~ "aquest transport!" + +#~ msgid "" +#~ "If you continue, you will not be able to talk to the %d contacts you are " +#~ "using this account for!" +#~ msgstr "" +#~ "Si continueu, no podreu parlar amb els %d contactes amb els quals esteu " +#~ "utilitzant aquest compte!" + +#~ msgid "Searching Local Services..." +#~ msgstr "S'estan cercant els serveis locals..." + +#~ msgid "Searching Local Services (%d of %d)" +#~ msgstr "S'estan cercant els serveis locals (%d de %d)" + +#~ msgid "Talking to available services..." +#~ msgstr "S'està communicant amb els serveis disponibles..." + +#~ msgid "Searching 3rd Party Services..." +#~ msgstr "S'estan cercant serveis de tercers..." + +#~ msgid "Searching 3rd Party Services (%d of %d)" +#~ msgstr "S'estan cercant serveis de tercers (%d de %d)" + +#~ msgid "Sorry, no services found at this time." +#~ msgstr "No s'ha trobat cap servei ara mateix." + +#~ msgid "" +#~ "Currently no providers are available for the account type you are trying " +#~ "to configure. Please try again later." +#~ msgstr "" +#~ "Actualment no hi ha proveïdors disponibles per al tipus de compte que " +#~ "esteu intentant configurar. Intenteu-ho de nou més tard." + +#~ msgid "This will be used to configure your account details." +#~ msgstr "" +#~ "Això s'utilitzarà per a configurar els vostres paràmetres de compte." + +#~ msgid "Unable to Register" +#~ msgstr "No s'ha pogut registrar" + +#~ msgid "The service confirmed the user '%s' is already registered." +#~ msgstr "El servei ha confirmat que l'usuari «%s» ja està registrat." + +#~ msgid "" +#~ "When registering a token is provided by the service to register with, in " +#~ "this case, the token has not been sent." +#~ msgstr "" +#~ "Quan vos registreu, el servei amb qui us esteu registrent proporciona un " +#~ "testimoni, però en aquest cas no s'ha enviat cap." + +#~ msgid "Please try again, or perhaps another service." +#~ msgstr "Proveu-ho de nou, o potser un altre servei." + +#~ msgid "Configuring Roster" +#~ msgstr "S'està configurant el roster" + +#~ msgid "Registration Successful!" +#~ msgstr "El registre ha tingut èxit!" + +#~ msgid "You are now able to add contacts using this transport." +#~ msgstr "Ara podeu afegir contactes utilitzant aquest transport." + +#~ msgid "Service" +#~ msgstr "Servei" + +#~ msgid "Checking your local service first..." +#~ msgstr "S'està comprovant el vostre servei local primer..." + +#~ msgid "" +#~ "<b>Configuring your new service...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>S'està configurant el servei nou...</b>\n" +#~ "Això trigarà uns moments, espereu." + +#~ msgid "Registering With Service" +#~ msgstr "S'està registrant amb el servei" + +#~ msgid "Saving personal details, please wait..." +#~ msgstr "S'estan desant els detalls personals, espereu..." + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "De:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - Missatge rebut" + +#~ msgid "In reply to:" +#~ msgstr "En resposta a:" + +#~ msgid "To:" +#~ msgstr "A:" + +#~ msgid "_Reply..." +#~ msgstr "_Respon..." + +#~ msgid "_Send" +#~ msgstr "_Envia" + +#~ msgid "<b>Connect to server</b>" +#~ msgstr "<b>Connecta a un servidor</b>" + +#~ msgid "C_onnect" +#~ msgstr "C_onnecta" + +#~ msgid "Connect _Server:" +#~ msgstr "_Servidor de connexió:" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#~ msgid "_Resource:" +#~ msgstr "_Recurs:" + +#~ msgid "Imendio Gossip - Group Chat" +#~ msgstr "Imendio Gossip - Xat en grup" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Personal information</b>" +#~ msgstr "<b>Informació personal</b>" + +#~ msgid "<b>Recommended Services</b>" +#~ msgstr "<b>Serveis recomanats</b>" + +#~ msgid "" +#~ "<b>Requested service requirements...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>S'han demanat els requeriments del servei...</b>\n" +#~ "Això trigarà uns moments, espereu." + +#~ msgid "<b>Spell Checking</b>" +#~ msgstr "<b>Correció ortogràfica</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Informació no disponible</i>" + +#~ msgid "Add Another Account" +#~ msgstr "Afegeix un altre compte" + +#~ msgid "Choose a Server" +#~ msgstr "Seleccioneu un servidor" + +#~ msgid "Choose from list:" +#~ msgstr "Seleccioneu de la llista:" + +#~ msgid "Configure Transport" +#~ msgstr "Configura el transport" + +#~ msgid "Configure Transports" +#~ msgstr "Configura els transports" + +#~ msgid "Configuring Service" +#~ msgstr "Configuració del servei" + +#~ msgid "If you prefer, you can specify your own service:" +#~ msgstr "Si ho preferiu, podeu especificar el vostre propi servei:" + +#~ msgid "Information about ..." +#~ msgstr "Informació sobre..." + +#~ msgid "Jabber Account" +#~ msgstr "Compte Jabber" + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "Nick name:" +#~ msgstr "Àlies:" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "A quin servidor teniu un compte Jabber?" + +#~ msgid "Please complete the details below to set up your account: " +#~ msgstr "Introduïu els detalls a sota per a configurar el vostre compte:" + +#~ msgid "Populating services..." +#~ msgstr "S'estan emplenant els serveis..." + +#~ msgid "Remove Account" +#~ msgstr "Supimeix el compte" + +#~ msgid "Service Details" +#~ msgstr "Detalls del servei" + +#~ msgid "Service:" +#~ msgstr "Servei:" + +#~ msgid "Status Message" +#~ msgstr "Missatge d'estat" + +#~ msgid "" +#~ "This wizard will allow you to configure your account settings for another " +#~ "protocol. " +#~ msgstr "" +#~ "Aquest auxiliar vos permetrà configurar els vostres paràmetres de compte " +#~ "per a un altre protocol. " + +#~ msgid "Transport Accounts" +#~ msgstr "Comptes de transports" + +#~ msgid "Use a different server" +#~ msgstr "Utilitza un servidor diferent" + +#~ msgid "Which protocol would you like to set up? " +#~ msgstr "Quin protocol voleu configurar? " + +#~ msgid "" +#~ "You can set the status presets which appear in the presence menu on the " +#~ "main window here." +#~ msgstr "" +#~ "Ací podeu establir els estats preestablerts que apareixen al menú de " +#~ "presència de la finestra principal." + +#~ msgid "You currently have the following accounts set up:" +#~ msgstr "Actualment teniu els comptes següents configurats:" + +#~ msgid "_Connect..." +#~ msgstr "_Connecta..." + +#~ msgid "_Jabber ID of new contact:" +#~ msgstr "_Jabber ID del nou contacte:" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Quin missatge de petició voleu enviar a %s?" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Sales de xat disponibles</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Informació sobre la sala de xat</b>" + +#~ msgid "N_ickname:" +#~ msgstr "Àl_ies:" + +#~ msgid "R_emove" +#~ msgstr "_Elimina" + +#~ msgid "_Add" +#~ msgstr "_Afegeix" + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Missatges d'estat preestablerts</b>" + +#~ msgid "Add to your contact list" +#~ msgstr "Afegeix a la llista de contactes" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Quin missatge de petició voleu enviar a ...?" + +#~ msgid "Sound" +#~ msgstr "So" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Assegureu-vos que la informació del vostre compte és correcta." + +#~ msgid "%s wants to be notified of your status." +#~ msgstr "%s vol ser notificat del vostre estat." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Vos heu desconnectat del servidor. Voleu reconnectar?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Assegureu-vos que la informació del vostre compte és correcta. El " +#~ "servidor també pot no estar disponible en aquest moment." + +#~ msgid "Details:" +#~ msgstr "Detalls:" + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "No s'ha pogut entrar al xat en grup %s." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "S'ha produït un error mentre es xatejava amb %s." + +#~ msgid "Discover Services" +#~ msgstr "Descobreix serveix" + +#~ msgid "_AIM" +#~ msgstr "_AIM" + +#~ msgid "_ICQ" +#~ msgstr "_ICQ" + +#~ msgid "_MSN" +#~ msgstr "_MSN" + +#~ msgid "_Yahoo!" +#~ msgstr "_Yahoo!" + +#~ msgid "subscription_label" +#~ msgstr "etiqueta de subscripció" + +#~ msgid "Gossip Website" +#~ msgstr "Lloc web del Gossip" + +#~ msgid "Gossip, Jabber Client" +#~ msgstr "Gossip, client de Jabber" + +#~ msgid "About to leave..." +#~ msgstr "Estic a punt de sortir..." + +#~ msgid "Autoaway message" +#~ msgstr "Missatge d'absència automàtica" + +#~ msgid "Away messages" +#~ msgstr "Missatges d'absència" + +#~ msgid "Busy messages" +#~ msgstr "Missatge d'ocupat" + +#~ msgid "Message to show before going away" +#~ msgstr "Missatge a mostrar abans de canviar a absent" + +#~ msgid "Not at the computer" +#~ msgstr "No estic a l'ordinador" + +#~ msgid "Enter the new available message" +#~ msgstr "Introduïu el nou missatge per «Disponible»" + +#~ msgid "Enter the new busy message" +#~ msgstr "Introduïu el nou missatge per «Ocupat»" + +#~ msgid "Enter the new away message" +#~ msgstr "Introduïu el nou missatge per «Absent»" + +#~ msgid "<b>Preset messages for quickly setting your status</b>" +#~ msgstr "" +#~ "<b>Preestableix missatges per a establir ràpidament el vostre estat</b>" + +#~ msgid "Enter the new message:" +#~ msgstr "Introduïu el nou missatge:" + +#~ msgid "Leave" +#~ msgstr "Surt" + +#~ msgid "New Status Message" +#~ msgstr "Nou missatge d'estat" + +#~ msgid "Reason for being busy:" +#~ msgstr "Raó per estar ocupat:" + +#~ msgid "Reason for leaving:" +#~ msgstr "Raó per sortir:" + +#~ msgid "Just about to leave..." +#~ msgstr "Estic a punt de sortir..." + +#~ msgid "Custom Busy Message..." +#~ msgstr "Missatge «Ocupat» personalitzat..." + +#~ msgid "Leave..." +#~ msgstr "Surt..." + +#~ msgid "New Busy Message" +#~ msgstr "Nou missatge d'ocupat" + +#~ msgid "New Away Message" +#~ msgstr "Nou missatge d'absència" + +#~ msgid "Working" +#~ msgstr "Treballant" + +#~ msgid "Eating" +#~ msgstr "Menjant" + +#~ msgid "Sleeping" +#~ msgstr "Dormint" + +#~ msgid "Preset messages for quickly setting busy status." +#~ msgstr "Preestableix missatges per a establir ràpidament estats d'ocupat." + +#~ msgid "" +#~ "Note: contacts can belong to multiple groups or they can be in no group " +#~ "at all." +#~ msgstr "" +#~ "Nota: els contactes poden estar en múltiples grups o poden no estar en " +#~ "cap grup." + +#~ msgid "As _Windows" +#~ msgstr "Com _finestres" + +#~ msgid "As a _List" +#~ msgstr "Com una _llista" + +#~ msgid "_Go" +#~ msgstr "_Vés" + +#~ msgid "Open conversations in single window with list view" +#~ msgstr "Obre els xats a una sola finestra amb una vista de llista" + +#~ msgid "Timestamp all messages" +#~ msgstr "Fica marques de temps a tots els missatges" + +#~ msgid "Whether or not to timestamp all messages in conversations." +#~ msgstr "" +#~ "Si s'ha de ficar marques de temps o no a tots els missatges als xats." + +#~ msgid "[Eating,Sleeping]" +#~ msgstr "[Menjant,Dormint]" + +#~ msgid "[Working]" +#~ msgstr "[Treballant]" + +#~ msgid "Custom Away Message..." +#~ msgstr "Missatge d'absència personalitzat..." + +#~ msgid "Messages" +#~ msgstr "Missatges" + +#~ msgid "Open conversations in a single window with _list view" +#~ msgstr "Obre els xats en una sola finestra amb una vista de _llista" + +#~ msgid "" +#~ "These messages are used to describe your status when you're about to " +#~ "leave and when you're away." +#~ msgstr "" +#~ "Aquests missatges s'utilitzen per a descriure el vostre estat quan esteu " +#~ "a punt de sortir i quan esteu absent." + +#~ msgid "Use com_pact conversation style" +#~ msgstr "Utilitza l'estil de xat com_pacte" + +#~ msgid "Use sounds to _notify when new messages arrive" +#~ msgstr "Utilitza sons per a _notificar quan arriben missatges nous" + +#~ msgid "_Timestamp all messages" +#~ msgstr "Fica _marques de temps a tots els missatges" + +#~ msgid "%sChat" +#~ msgstr "%sXat" + +#~ msgid "Offline " +#~ msgstr "Desconnectats" + +#~ msgid "Others" +#~ msgstr "Altres" + +#~ msgid "Get _Info" +#~ msgstr "Obté _informació" + +#~ msgid "I'm here" +#~ msgstr "Estic ací" + +#~ msgid "I'm not here right now" +#~ msgstr "No estic ací ara mateix" + +#~ msgid "Available:" +#~ msgstr "Disponible:" + +#~ msgid "Use ta_bs instead of windows for conversations" +#~ msgstr "Utilitza pes_tanyes en comptes de finestres per als xats" + +#~ msgid "Auto away enabled" +#~ msgstr "Absència automàtica habilitada" + +#~ msgid "Extended autoaway time" +#~ msgstr "Temps per a canviar a absent fa estona automàticament" + +#~ msgid "" +#~ "The number of minutes of idle time before automatically going into \"away" +#~ "\" mode." +#~ msgstr "" +#~ "El nombre de minuts d'inactivitat abans de canviar automàticament al mode " +#~ "«absent»." + +#~ msgid "" +#~ "The number of minutes of idle time before automatically going into " +#~ "\"extended away\" mode." +#~ msgstr "" +#~ "El nombre de minuts d'inactivitat abans de canviar automàticament al mode " +#~ "«absent fa estona»." + +#~ msgid "Timestamp messages" +#~ msgstr "Posa marques de temps als missatges" + +#~ msgid "" +#~ "Whether or not to go into \"away\" mode automatically when a certain time " +#~ "of idling has passed." +#~ msgstr "" +#~ "Si s'ha de canviar al mode «absent» automàticament quan ha passat una " +#~ "certa quantitat de temps." + +#~ msgid "Free to chat" +#~ msgstr "Disponible per xatejar" + +#~ msgid "Extended away" +#~ msgstr "Absent fa estona" + +#~ msgid "_Edit Account..." +#~ msgstr "_Edita el compte..." + +#~ msgid "<b>Additional information</b>" +#~ msgstr "<b>Informació addicional</b>" + +#~ msgid "<b>Address</b>" +#~ msgstr "<b>Adreça</b>" + +#~ msgid "<b>Auto away</b>" +#~ msgstr "<b>Absència automàtica</b>" + +#~ msgid "<b>Jabber ID:</b>" +#~ msgstr "<b>Jabber ID:</b>" + +#~ msgid "<b>Setup Finished</b>" +#~ msgstr "<b>Configuració finalitzada</b>" + +#~ msgid "Automatically enter away mode during inactivity" +#~ msgstr "Entra en mode «Absent» automàticament quan s'està inactiu" + +#~ msgid "Enter away mode after" +#~ msgstr "Entra en mode «Absent» després de" + +#~ msgid "I'm away eating dinner, bbiab..." +#~ msgstr "Estic sopant, tornaré aviat..." + +#~ msgid "Presence:" +#~ msgstr "Presència:" + +#~ msgid "Priority:" +#~ msgstr "Prioritat:" + +#~ msgid "Set the status you want to use" +#~ msgstr "Estableix l'estat que voleu utilitzar" + +#~ msgid "_Approve" +#~ msgstr "_Aprova" + +#~ msgid "_Defer" +#~ msgstr "Retar_da" + +#~ msgid "minutes" +#~ msgstr "minuts" + +#~ msgid "Default Account" +#~ msgstr "Compte predeterminat" + +#~ msgid "Could not open the address \"%s\": %s" +#~ msgstr "No s'ha pogut obrir l'adreça «%s»: %s" + +#~ msgid "<b>Available accounts</b>" +#~ msgstr "<b>Comptes disponibles</b>" + +#~ msgid "<b>What account do you want to use for this connection?</b>" +#~ msgstr "<b>Quin compte voleu utilitzar per a aquesta connexió?</b>" + +#~ msgid "Use SS_L" +#~ msgstr "Utilitza SS_L" + +#~ msgid "_User:" +#~ msgstr "_Usuari:" + +#~ msgid "What request message do you want to send to <b>micke</b>?" +#~ msgstr "Quin missatge de petició voleu enviar a <b>micke</b>?" + +#~ msgid "Operating system:" +#~ msgstr "Sistema operatiu:" diff --git a/trunk/po/cs.po b/trunk/po/cs.po new file mode 100644 index 000000000..0765e293b --- /dev/null +++ b/trunk/po/cs.po @@ -0,0 +1,2040 @@ +# Czech translation of gossip. +# Copyright (C) 2003, 2004 gossip'S COPYRIGHT HOLDER +# Copyright (C) 2003, 2004 Miloslav Trmac <mitr@volny.cz> +# This file is distributed under the same license as the gossip package. +# Miloslav Trmac <mitr@volny.cz>, 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-02-20 03:46+0100\n" +"Last-Translator: Miloslav Trmac <mitr@volny.cz>\n" +"Language-Team: Czech <cs@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Instant Messenger" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Instant Messenger" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Přidat do vašeho seznamu kontaktů" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Zakázat zvuky, když jsem _pryč" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Zakázat zvuky, když jsem _zaneprázdněn" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Gossip - Odeslat zprávu" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Skrýt hlavní okno" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Skrýt hlavní okno." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Zobrazit seznam kontaktů" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Výška hlavního okna." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Zobrazovat odpojené kontakty" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +#, fuzzy +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Toto jméno se bude používat pro vaši identifikaci v oknech diskusí." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Používat grafické smajlíky" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Používat zvuky upozornění" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Jestli převádět smajlíky v konverzacích na grafické smajlíky." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Jestli přehrávat zvuk, když přijdou zprávy." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Jestli přehrávat zvuky, když jsem pryč." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Jestli přehrávat zvuky, když jsem zaneprázdněn." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Jestli přehrávat zvuk, když přijdou zprávy." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Jestli zobrazovat odpojené kontakty v seznamu kontaktů." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Jestli zobrazovat odpojené kontakty v seznamu kontaktů." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Jestli zobrazovat odpojené kontakty v seznamu kontaktů." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Odpojen" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "K dispozici" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Zaneprázdněn" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Pryč" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Zobrazit seznam kontaktů" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Skupina" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "_Přidat kontakt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Skrýt seznam kontaktů" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Připojit" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "_Upravit oblíbené..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Zobrazovat _odpojené kontakty" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Přijmout" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Přijmout" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Přidat kontakt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Diskuse" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Připojit" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Nová zpráva..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Osobní informace" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Nastavení" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Místnost:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "_Konverzace" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Stav" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Zobrazit seznam kontaktů" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, Klient Instant Messaging" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "Miloslav Trmač" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "K dispozici" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Nastavení účtu</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Nastavení účtu</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Účet Jabberu" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Oblíbené:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Oblíbené:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Nastavení účtu</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Diskuse" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +#, fuzzy +msgid "Imendio " +msgstr "Imendio Gossip" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Jméno:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Téma:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Příklad: uživatel@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "Heslo:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "Z_droj:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Používat _šifrování (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "_Port:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Server:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>Nastavení účtu</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Odpojen" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Připojen" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Vymazat" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Diskuse" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "_Informace o kontaktu" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Diskuse" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "Za_registrovat..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Zadejte zprávu o stavu:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Přesunout záložku do_leva" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Přesunout záložku do_prava" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "_Upravit oblíbené..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Konverzace" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Odpojit záložku" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Následující záložka" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Předchozí záložka" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "_Zobrazit seznam kontaktů" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Záložky" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Kopírovat adresu odkazu" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Otevřít odkaz" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d. %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_Nová zpráva..." +msgstr[1] "_Nová zpráva..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossip - Diskuse" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Konverzace" +msgstr[1] "_Konverzace" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Píše zprávu." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "_Přidat kontakt..." + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Skupina" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Přidat kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "_Informace o kontaktu" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Informace o kontaktu" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/_Přejmenovat skupinu" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Jméno uživatele:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Zadejte prosím novou přezdívku pro kontakt\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Odstranit" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/_Odstranit kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossip - Upravit skupinové diskuse" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Vybrat" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "_Konverzace" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Vzhled" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Oblíbené:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Oblíbené:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Stav" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Připojit" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Popis</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "_Název diskuse:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Zakázat zvuky, když jsem _pryč" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Zakázat zvuky, když jsem _zaneprázdněn" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Používat zvuky upozornění" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Nastavení" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Převádět _smajlíky na grafické obrázky" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Zobrazit seznam kontaktů" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "Přehrávat zvuk, když přijdou zprávy" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gossip - Upravit skupinové diskuse" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Zpráva požadavku" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "_Vymazat" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Chcete přijmout tento požadavek?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "_Vymazat" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Zadejte zprávu o stavu:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Zprávy o stavu" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Přednastavené zprávy o stavu" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s se odpojil" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s se připojil" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "_Vymazat" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Nepřipojovat se při startu" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Instant Messenger" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Instant Messenger" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Připojit" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Neznámá chyba" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Používat zvuky upozornění" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Neznámá chyba" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "K dispozici" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Neznámá chyba" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Připojen" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Připojen" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Účet Jabberu" + +#~ msgid "Home" +#~ msgstr "Domů" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Registruji účet" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Odpojit" + +#~ msgid "Connect" +#~ msgstr "Připojit" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Účet úspěšně zaregistrován" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Nemohu zaregistrovat účet" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Zadejte prosím své heslo." + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Zadejte prosím své heslo." + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Zadejte prosím nový název pro skupinu\n" +#~ "%s" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>Požádal jsem o informace, čekejte prosím...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Rád bych vás přidal do svého seznamu kontaktů." + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_Nová zpráva..." +#~ msgstr[1] "_Nová zpráva..." + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Požadavek na přihlášení" +#~ msgstr[1] "Požadavek na přihlášení" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Upravit informace o účtu" + +#~ msgid "New message from %s" +#~ msgstr "Nová zpráva od %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Přijmout" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Jméno:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Místnost:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Připojit" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>Požádal jsem o informace, čekejte prosím...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Chcete odstranit kontakt\n" +#~ "%s\n" +#~ "ze svého seznamu kontaktů?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Zadejte prosím nový název pro skupinu\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Vybrat" + +#~ msgid "Unsorted" +#~ msgstr "Nesetříděno" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Neznámá chyba" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "Rád bych vás přidal do svého seznamu kontaktů." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "Rád bych vás přidal do svého seznamu kontaktů." + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Vybrat" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_Připojit..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Připojit" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Jakou přezdívku chcete používat pro tento kontakt?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Téma:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Účet Jabberu" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Konverzace" + +#~ msgid "List the available accounts" +#~ msgstr "Vypsat dostupné účty" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Ke kterému účtu se připojit při startu" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "NÁZEV-ÚČTU" + +#~ msgid "Available accounts:" +#~ msgstr "Dostupné účty:" + +#~ msgid "[default]" +#~ msgstr "[implicitní]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Neexistuje účet s názvem '%s'." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Připojit" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Diskuse" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossip - Diskuse" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "<b>Čekám na odpověď serveru...</b>" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[implicitní]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Diskuse" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s bude přidán do vašeho seznamu kontaktů." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "%s bude přidán do vašeho seznamu kontaktů." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Požadavek na přihlášení" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "_Informace o kontaktu" + +#, fuzzy +#~ msgid "New subscription request from %s" +#~ msgstr "Požadavek na přihlášení" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "Chcete odstranit kontakt\n" +#~ "%s\n" +#~ "ze svého seznamu kontaktů?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "Chcete odstranit kontakt\n" +#~ "%s\n" +#~ "ze svého seznamu kontaktů?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Zadejte prosím své heslo." + +#~ msgid "Remember Password?" +#~ msgstr "Zapamatovat si heslo?" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Diskuse" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "%s se odpojil" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Chcete přijmout tento požadavek?" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "Jméno uživatele:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "WWW stránka:" + +#~ msgid "Web site:" +#~ msgstr "WWW stránka:" + +#~ msgid "_Accept" +#~ msgstr "_Přijmout" + +#~ msgid "_Deny" +#~ msgstr "_Odmítnout" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Oblíbené:</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Účet Jabberu" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - Upravit skupinové diskuse" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - Diskuse" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Připojit" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Nepřipojovat se při startu" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Jméno:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Server:" + +#~ msgid "_Nickname:" +#~ msgstr "_Přezdívka:" + +#~ msgid "_Room:" +#~ msgstr "_Místnost:" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>Oblíbené:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Informace o klientovi" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Oblíbené:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "Stav" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "Osobní detaily" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Přihlášení" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Příklad: uživatel@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Účet Jabberu" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "_Přidat kontakt..." + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Diskuse" + +#~ msgid "Client:" +#~ msgstr "Klient:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "_Přidat kontakt..." + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Nepřipojovat se při startu" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "_Přidat kontakt..." + +#~ msgid "Country:" +#~ msgstr "Země:" + +#~ msgid "Decide _Later" +#~ msgstr "_Rozhodnout se později" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "_Přidat kontakt..." + +#~ msgid "Edit Groups" +#~ msgstr "Upravit skupiny" + +#~ msgid "Email:" +#~ msgstr "E-mail" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "JID" + +#~ msgid "Name:" +#~ msgstr "Jméno:" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "_Osobní detaily" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Za_registrovat..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Hledat..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Gossip - Odeslat zprávu" + +#, fuzzy +#~ msgid "Subscription Request" +#~ msgstr "Požadavek na přihlášení" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Jakou přezdívku chcete používat pro tento kontakt?" + +#, fuzzy +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Toto jméno se bude používat pro vaši identifikaci v oknech diskusí." + +#, fuzzy +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "Toto jméno se bude používat pro vaši identifikaci v oknech diskusí." + +#~ msgid "Use system pro_xy" +#~ msgstr "Používat systémovou _proxy" + +#~ msgid "Version:" +#~ msgstr "Verze:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "_Konverzace" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Jaké jméno uživatele chcete používat?" + +#, fuzzy +#~ msgid "You are not subscribed to this contact." +#~ msgstr "" +#~ "Nejste přihlášeni ke stavu tohoto kontaktu. Jejich stav získejte " +#~ "kliknutím na Přihlásit." + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Připojit" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Popis" + +#~ msgid "_Disconnect" +#~ msgstr "_Odpojit" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "E-mail" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "Zadejte ID uživatele, kterému chcete odeslat zprávu." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Port:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Jméno:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Skupina" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Přezdívka:" + +#~ msgid "_Password:" +#~ msgstr "_Heslo:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "_Zprávy o stavu" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "_Odstranit" + +#~ msgid "_Subscribe" +#~ msgstr "_Přihlásit" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "WWW stránka:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>Nastavení účtu</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>Nastavení účtu</b>" + +#~ msgid "Preset status messages" +#~ msgstr "Přednastavené zprávy o stavu" + +#~ msgid "Preset status messages." +#~ msgstr "Přednastavené zprávy o stavu." + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "Připojit" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s bude přidán do vašeho seznamu kontaktů." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "ID _Jabberu nového kontaktu:" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Zadejte prosím své heslo." + +#~ msgid "Contact Information for %s" +#~ msgstr "Informace o kontaktu %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_Informace o kontaktu" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/_Přejmenovat kontakt" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/_Upravit skupiny" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "_Konverzace" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Zadejte prosím novou přezdívku pro kontakt\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Upravit skupiny pro %s" + +#~ msgid "Conversation Log" +#~ msgstr "Záznam konverzace" + +#~ msgid "Registering account" +#~ msgstr "Registruji účet" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Důvod:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "_Upravit oblíbené..." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Jméno:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossip - Diskuse" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Požádal jsem o informace, čekejte prosím...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Příklad: uživatel@jabber.org</span>" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - Diskuse" + +#, fuzzy +#~ msgid "Connection Details" +#~ msgstr "Podrobnosti o nastavení" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Máte již účet na serveru Jabberu?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Zadejte prosím novou přezdívku pro kontakt\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Zadejte prosím novou přezdívku pro kontakt\n" +#~ "%s" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Nastavení dokončeno" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip je moderní klient pro systém instant message Jabber.\n" +#~ "\n" +#~ "Tento asistent vám pomůže nastavit Gossip a připojit vás k vašemu " +#~ "oblíbenému serveru Jabberu.\n" +#~ "\n" +#~ "Začněte kliknutím na \"Vpřed\"." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Abyste se přihlásili k upozornění o přítomnosti uživatele, bude poslán " +#~ "požadavek. Dokud tento požadavek není potvrzen, uživatel bude ve vašem " +#~ "seznamu kontaktů vždy zobrazen jako \"Odpojen\"." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "Do které skupiny chcete umístit tento kontakt?" + +#~ msgid "Jabber ID:" +#~ msgstr "ID Jabberu:" + +#~ msgid "Nickname:" +#~ msgstr "Přezdívka:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "_Port:" + +#, fuzzy +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "" +#~ "Nejste přihlášeni ke stavu tohoto kontaktu. Jejich stav získejte " +#~ "kliknutím na Přihlásit." + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Registruji účet" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "Z_droj:" + +#~ msgid "Sending request" +#~ msgstr "Odesílám požadavek" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "WWW stránka:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Vítejte v Gossipu" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Který systém instant message kontakt používá?" + +#~ msgid "What is your name?" +#~ msgstr "Jaké je vaše jméno?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Který server chcete používat?" + +#~ msgid "What username do you use?" +#~ msgstr "Jaké jméno uživatele používáte?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Jaké jméno uživatele chcete používat?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Do které skupiny chcete umístit tento kontakt?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Gossip je nyní správně nastaven pro váš systém.\n" +#~ "Nastavení svého účtu můžete později změnit vybráním položky menu Diskuse-" +#~ ">Připojit..." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Účet Jabberu" + +#~ msgid "Your Identity" +#~ msgstr "Vaše identita" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gossip - Diskuse" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Ne" + +#~ msgid "_Search..." +#~ msgstr "_Hledat..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Ano" + +#~ msgid "Be silent when away" +#~ msgstr "Být tichý, když jsem pryč" + +#~ msgid "Be silent when busy" +#~ msgstr "Být tichý, když jsem zaneprázdněn" + +#~ msgid "Height of main window" +#~ msgstr "Výška hlavního okna" + +#~ msgid "The X position of the main window." +#~ msgstr "Pozice X hlavního okna." + +#~ msgid "The Y position of the main window." +#~ msgstr "Pozice Y hlavního okna." + +#~ msgid "The width of the main window." +#~ msgstr "Šířka hlavního okna." + +#~ msgid "Width of the main window" +#~ msgstr "Šířka hlavního okna" + +#~ msgid "X position of main window" +#~ msgstr "Pozice X hlavního okna" + +#~ msgid "Y position of main window" +#~ msgstr "Pozice Y hlavního okna" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, Klient Instant Messaging" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Skrýt hlavní okno." + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "_Informace o účtu" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Zpráva o stavu" + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s se odpojil" + +#~ msgid "Available..." +#~ msgstr "K dispozici..." + +#~ msgid "Busy..." +#~ msgstr "Zaneprázdněn..." + +#~ msgid "Away..." +#~ msgstr "Pryč..." + +#~ msgid "Contact _Information" +#~ msgstr "_Informace o kontaktu" + +#, fuzzy +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Popis</b>" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Diskuse" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "_Připojit se ke skupinové diskusi..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "_Port:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Informace o klientovi" + +#, fuzzy +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "Žádám o osobní detaily, čekejte prosím..." + +#, fuzzy +#~ msgid "Could not open connection" +#~ msgstr "Nemohu se připojit" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Který server chcete používat?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>Připojit se k serveru</b>" + +#~ msgid "Written by:" +#~ msgstr "Napsali:" + +#~ msgid "Artwork by:" +#~ msgstr "Grafika od:" + +#~ msgid "Translated by:" +#~ msgstr "Přeložili:" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "_Informace o účtu" + +#~ msgid "%sChat - %s" +#~ msgstr "%sDiskuse - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Zobrazit záz_nam" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Verze:" + +#~ msgid "View Lo_g" +#~ msgstr "Zobrazit záz_nam" + +#, fuzzy +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - Připojit se ke skupinové diskusi" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Přidat kontakt" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "_Informace o kontaktu" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - Upravit skupinové diskuse" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - Diskuse" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - Odeslat zprávu" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Osobní detaily" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Nastavení" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - Odeslat zprávu" + +#, fuzzy +#~ msgid "Personal Details Saved!" +#~ msgstr "Osobní detaily" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Jakou zprávu požadavku chcete odeslat %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Zkontrolujte, že vaše informace o účtu jsou správné." + +#~ msgid "%s wants to be notified of your status." +#~ msgstr "%s chce být upozorňován na váš stav." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Byli jste odpojeni od serveru. Chcete se znovu připojit?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Zkontrolujte, že vaše informace o účtu jsou správné. Možná server " +#~ "momentálně není dostupný." + +#~ msgid "Edit List..." +#~ msgstr "Upravit seznam..." + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "Při skupinové diskusi %s došlo k chybě." + +#~ msgid "Details:" +#~ msgstr "Detaily:" + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Nemohu vstoupit do skupinové diskuse %s." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "Při diskusi s %s došlo k chybě." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip se nyní pokusí použít váš účet:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip se nyní pokusí zaregistrovat účet:" + +#~ msgid "Saving personal details, please wait..." +#~ msgstr "Ukládám osobní detaily, čekejte prosím..." + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Od:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - Přijatá zpráva" + +#~ msgid "In reply to:" +#~ msgstr "Odpověď na:" + +#~ msgid "To:" +#~ msgstr "Komu:" + +#~ msgid "_Reply..." +#~ msgstr "_Odpovědět..." + +#~ msgid "_Send" +#~ msgstr "_Odeslat" + +#~ msgid "C_onnect" +#~ msgstr "_Připojit" + +#~ msgid "Connect _Server:" +#~ msgstr "Připojit se k _serveru:" + +#~ msgid "_Jabber ID:" +#~ msgstr "ID _Jabberu:" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Dostupné diskusní místnosti</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Informace o diskusní místnosti</b>" + +#~ msgid "Imendio Gossip - Group Chat" +#~ msgstr "Imendio Gossip - Skupinová diskuse" + +#~ msgid "N_ickname:" +#~ msgstr "_Přezdívka:" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "" +#~ "Vstupte výběrem oblíbeného nebo zadejte přezdívku, název serveru a název " +#~ "diskusní místnosti." + +#~ msgid "R_emove" +#~ msgstr "_Odstranit" + +#~ msgid "_Add" +#~ msgstr "_Přidat" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "" +#~ "<b>Finding the best server...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>Hledám nejlepší server...</b>\n" +#~ "To bude chvilku trvat, počkejte prosím." + +#~ msgid "<b>Personal information</b>" +#~ msgstr "<b>Osobní informace</b>" + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Přednastavené zprávy o stavu</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Informace nejsou k dispozici</i>" + +#~ msgid "Add Another Account" +#~ msgstr "Přidat další účet" + +#~ msgid "Choose a Server" +#~ msgstr "Vyberte server" + +#~ msgid "Choose from list:" +#~ msgstr "Vyberte ze seznamu:" + +#~ msgid "Configuring Service" +#~ msgstr "Nastavuji službu" + +#~ msgid "Discover Services" +#~ msgstr "Vyhledat služby" + +#~ msgid "Information about ..." +#~ msgstr "Informace o ..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "Nick name:" +#~ msgstr "Přezdívka:" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "Na kterém serveru máte účet Jabberu?" + +#~ msgid "" +#~ "Please enter your user name, password and all other required details " +#~ "below to set up your account. " +#~ msgstr "" +#~ "Nastavte prosím váš účet zadáním vašeho jména uživatele, hesla a jiných " +#~ "vyžadovaných podrobností níže. " + +#~ msgid "Server Details" +#~ msgstr "Podrobnosti o serveru" + +#~ msgid "Sound" +#~ msgstr "Zvuk" + +#~ msgid "" +#~ "This wizard will allow you to configure your account settings for another " +#~ "protocol. " +#~ msgstr "Tento průvodce vám umožní nastavit váš účet pro jiný protokol. " + +#~ msgid "Use a different server" +#~ msgstr "Použít jiný server" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Jakou zprávu požadavku chcete odeslat ...?" + +#~ msgid "Which protocol would you like to set up? " +#~ msgstr "Který protokol chcete nastavit? " diff --git a/trunk/po/cy.po b/trunk/po/cy.po new file mode 100644 index 000000000..047756960 --- /dev/null +++ b/trunk/po/cy.po @@ -0,0 +1,2235 @@ +# Gossip yn Gymraeg. +# This file is distributed under the same license as the gossip package. +# Dafydd Harries <daf@muse.19inch.net>, 2003 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-07-05 16:41+0100\n" +"Last-Translator: Dafydd Harries <daf@muse.19inch.net>\n" +"Language-Team: Cymraeg <gnome-cy@www.linux.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Negesydd Parod" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Negesydd Parod" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Ychwanegu i'ch rhestr cysylltion" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Analluogi synau wrth fod _ymaith" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Analluogi synau wrth fod yn _brysur" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Gossip - Danfon Neges" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Cuddio'r prif ffenest" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Cuddio'r prif ffenest" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Dangos y Rhestr Cysylltion" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Safle X y prif ffenest." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Dangos cysylltion all-lein" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +#, fuzzy +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Defnyddir yr enw hwn i'ch adnabod chi mewn ffenestri sgwrs." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Defnyddio gwynebau graffigol" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Defnyddio synau hysbysu" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "A ddylid trosi gwynebau i ddelweddau graffigol mewn sgyrsiau." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "A ddylid chwarae cain pan mae negeseuon yn cyrraedd." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "A ddylid chwarae synau wrth fod ymaith." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "A ddylid chwarae synau wrth fod yn brysur." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "A ddylid chwarae cain pan mae negeseuon yn cyrraedd." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "A ddylid dangos cysylltion sydd all-lein yn y rhestr cysylltion." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "A ddylid dangos cysylltion sydd all-lein yn y rhestr cysylltion." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "A ddylid dangos cysylltion sydd all-lein yn y rhestr cysylltion." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "All-lein" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Ar Gael" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Prysur" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Ymaith" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Dangos y Rhestr Cysylltion" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Grŵp" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "Ychwanegu cyswllt" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Cuddio y Rhestr Cysylltion" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "_Cysylltu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "_Golygu ffefrynnau..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Dangos Cysylltion All-lein" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Gweithredion" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Gweithredion" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Ychwanegu Cyswllt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Sgwrs" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "_Cysylltu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "_Gadael" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "Neges _Newydd..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Manylion personol" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Hoffterau" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Gadael" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Ystafell:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "_Sgwrs" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Cyflwr" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Dangos y Rhestr Cysylltion" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, Cleient Negeseuo Cyflym" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "Dafydd Harries" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Ar Gael" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Gosodiadau Cyfrif</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Gosodiadau Cyfrif</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "_Enw cyfrif:" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>C_yfrif:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>C_yfrif:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Gosodiadau Cyfrif</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Sgwrs" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Enw:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Testun:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Enghraifft: cyfrif@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "_Cyfrinair:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "_Adnodd:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Defnyddio _amgryptio (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "_Porth:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Gweinydd:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>Gosodiadau Cyfrif</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Wedi Datgysylltu" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Wedi Cysylltu" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "C_lirio" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Sgwrs" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "/_Gwybodaeth Cyswllt" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Sgwrs" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "_Cofrestri..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Rhowch neges cyflwr:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Symud y Tab i'r _Chwith" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Symud y Tab i'r _Dde" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "_Golygu ffefrynnau..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Sgwrs" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Datgysylltu'r Tab" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "Tab _Nesaf" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "Tab _Cynt" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "_Dangos y Rhestr Cysylltion" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Tabiau" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Copïo Cyfeiriad y Cyswllt" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Agor y Cyswllt" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Neges _Newydd..." +msgstr[1] "Neges _Newydd..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossip - Sgwrs" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Sgwrs" +msgstr[1] "_Sgwrs" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Yn teipio neges." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "Ychwanegu cyswllt" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Grŵp" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Ychwanegu cyswllt" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "/_Gwybodaeth Cyswllt" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Manylion cyswllt" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/_Ailenwi'r grŵp" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Enw _defnyddiwr:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Os gwelwch yn dda, rhowch llysenw newydd ar gyfer y cyswllt\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Tynnu" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/_Tynnu'r cyswllt" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossip - Golygu Sgyrsiau Grŵp" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Dewis" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "_Sgwrs" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Ymddangosiad" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>C_yfrif:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Ffefryn:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "_Cysylltu" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +#, fuzzy +msgid "<b>Languages</b>" +msgstr "<b>Enw:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "<b>Disgrifiad</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Ebost:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "Enw _sgwrs:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Analluogi synau wrth fod _ymaith" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Analluogi synau wrth fod yn _brysur" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Hysbysu" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Hoffterau" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Trosi _gwynebau i ddelweddau graffigol" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Dangos y Rhestr Cysylltion" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +#, fuzzy +msgid "Sort by s_tate" +msgstr "Gosodwch eich cyflwr:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "Chwarae sain pan mae negeseuon yn cyrraedd" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gossip - Golygu Sgyrsiau Grŵp" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Neges Addasiedig..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "C_lirio" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Ydych chi eisiau derbyn yr ymgais?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "C_lirio" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Rhowch neges cyflwr:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Negeseuon Cyflwr" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Negeseuon cyflwr rhagosod" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "Aeth %s all-lein" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "Mae %s yn dod arlein" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "C_lirio" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Peidio a chysylltu wrth gychwyn" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Negesydd Parod" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Negesydd Parod" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Ymuno" + +#, fuzzy +#~ msgid "Active" +#~ msgstr "_Gweithredion" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Gwall anhysbys" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Hysbysu" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Gwall anhysbys" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Ar Gael" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Gwall anhysbys" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Wedi Cysylltu" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Wedi Cysylltu" + +#, fuzzy +#~ msgid "This feature is unavailable." +#~ msgstr "Efallai nid yw'r gweinydd ar gael ar hyn o bryd." + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Cyfrif newydd" + +#~ msgid "Home" +#~ msgstr "Adref" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Efallai nid yw'r gweinydd ar gael ar hyn o bryd." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Yn cofrestru cyfrif" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Efallai nid yw'r gweinydd ar gael ar hyn o bryd." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Datgysylltu" + +#~ msgid "Connect" +#~ msgstr "_Cysylltu" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Cofrestrwyd cyfrif yn llwyddianus" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Methwyd cofrestru cyfrif" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Rhowch eich cyfrinair os gwelwch yn dda:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Rhowch eich cyfrinair os gwelwch yn dda:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Os gwelwch yn dda, rhowch enw newydd ar gyfer y grŵp\n" +#~ "%s" + +#, fuzzy +#~ msgid "No information is available for this contact." +#~ msgstr "Cyrchu gwybodaeth ynghylch y cyswllt hwn" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>Gofynnwyd gwybodaeth, arhoswch os gwelwch yn dda...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Hoffwn eich ychwanegu at fy rhestr cysylltion." + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "Neges _Newydd..." +#~ msgstr[1] "Neges _Newydd..." + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Cais Tanysgrifiad" +#~ msgstr[1] "Cais Tanysgrifiad" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "Neges cais" +#~ msgstr[1] "Neges cais" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Golygu Manylion Cyfrif" + +#~ msgid "New message from %s" +#~ msgstr "Neges newydd o %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Derbyn" + +#, fuzzy +#~ msgid "Decline" +#~ msgstr "Swper" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Enw:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Ystafell:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Gossip - Cysylltu" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>Gofynnwyd gwybodaeth, arhoswch os gwelwch yn dda...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Ydych chi eisiau tynnu'r cyswllt\n" +#~ "%s\n" +#~ "o'ch rhestr cyswllt?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Os gwelwch yn dda, rhowch enw newydd ar gyfer y grŵp\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Dewis" + +#~ msgid "Unsorted" +#~ msgstr "Heb eu trefnu" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Gwall anhysbys" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "Hoffwn eich ychwanegu at fy rhestr cysylltion." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "Hoffwn eich ychwanegu at fy rhestr cysylltion." + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Dewis" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_Cysylltu..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Gossip - Cysylltu" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Pa llysenw hoffwch ddefnyddio ar gyfer y cyswllt hwn?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Testun:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "_Enw cyfrif:" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Sgwrs" + +#~ msgid "List the available accounts" +#~ msgstr "Rhestru'r cyfrifon sydd ar gael" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Pa gyfrif i gysylltu iddo wrth gychwyn" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "ENW-CYFRIF" + +#~ msgid "Available accounts:" +#~ msgstr "Cyfrifon sydd ar gael:" + +#~ msgid "[default]" +#~ msgstr "[rhagosodiad]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Does dim cyfrif gyda'r enw '%s'." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Ymuno" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Sgwrs" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossip - Sgwrs" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Arbed manylion personol..." + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[rhagosodiad]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Sgwrs" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "Caiff %s ei ychwanegu i'ch restr cyswllt." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Caiff y cyswllt ei ychwanegu i'ch rhestr cyswllt" + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Cais Tanysgrifiad" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "/_Gwybodaeth Cyswllt" + +#, fuzzy +#~ msgid "New subscription request from %s" +#~ msgstr "Cais Tanysgrifiad" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "Ydych chi eisiau tynnu'r cyswllt\n" +#~ "%s\n" +#~ "o'ch rhestr cyswllt?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "Ydych chi eisiau tynnu'r cyswllt\n" +#~ "%s\n" +#~ "o'ch rhestr cyswllt?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Rhowch eich cyfrinair os gwelwch yn dda:" + +#~ msgid "Remember Password?" +#~ msgstr "Cofio'r Cyfrinair?" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Sgwrs" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "Mae %s yn dod arlein" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Ydych chi eisiau derbyn yr ymgais?" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "Enw _defnyddiwr:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "Safle gwe:" + +#~ msgid "Web site:" +#~ msgstr "Safle gwe:" + +#~ msgid "_Accept" +#~ msgstr "_Derbyn" + +#~ msgid "_Deny" +#~ msgstr "_Gwrthod" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Disgrifiad</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "_Enw cyfrif:" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - Golygu Sgyrsiau Grŵp" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - Sgwrs" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Ymuno" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Peidio a chysylltu wrth gychwyn" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Enw:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Gweinydd:" + +#~ msgid "_Nickname:" +#~ msgstr "_Llysenw:" + +#~ msgid "_Room:" +#~ msgstr "_Ystafell:" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>C_yfrif:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Manylion cleient" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>C_yfrif:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Enw:</b>" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "Manylion Personol" + +#, fuzzy +#~ msgid "<b>Status</b>" +#~ msgstr "<b>Sain</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Tanysgrifiad" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Enghraifft: cyfrif@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "_Enw cyfrif:" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "Ychwanegu cyswllt" + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Sgwrs" + +#~ msgid "Client:" +#~ msgstr "Cleient:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "Ychwanegu cyswllt" + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Peidio a chysylltu wrth gychwyn" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "Ychwanegu cyswllt" + +#~ msgid "Country:" +#~ msgstr "Gwlad:" + +#~ msgid "Decide _Later" +#~ msgstr "Penderfynu _Wedyn" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "Ychwanegu cyswllt" + +#~ msgid "Edit Groups" +#~ msgstr "Golygu Grŵpiau" + +#~ msgid "Email:" +#~ msgstr "Ebost:" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "JID" + +#~ msgid "Name:" +#~ msgstr "Enw:" + +#~ msgid "OS:" +#~ msgstr "System Weithredu:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "Manylion _Personol" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "_Cofrestri..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Chwilio..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Gossip - Danfon Neges" + +#, fuzzy +#~ msgid "Subscription Request" +#~ msgstr "Cais Tanysgrifiad" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Pa llysenw hoffwch ddefnyddio ar gyfer y cyswllt hwn?" + +#, fuzzy +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Defnyddir yr enw hwn i'ch adnabod chi mewn ffenestri sgwrs." + +#, fuzzy +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "Defnyddir yr enw hwn i'ch adnabod chi mewn ffenestri sgwrs." + +#~ msgid "Version:" +#~ msgstr "Fersiwn:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "_Sgwrs" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Pa enw cyfrif hoffech chi ddefnyddio?" + +#, fuzzy +#~ msgid "You are not subscribed to this contact." +#~ msgstr "" +#~ "Nid ydych wedi tanysgrifio at gyflwr y cyswllt hwn. Gwasgwch Tanysgrifio " +#~ "er mwyn derbyn eu cyflwr." + +#, fuzzy +#~ msgid "_Birthday:" +#~ msgstr "_Blaenoriaeth:" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "_Cysylltu" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Disgrifiad" + +#~ msgid "_Disconnect" +#~ msgstr "_Datgysylltu" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Ebost:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "Rhowch ID defnyddiwr y person hoffwch anfon neges sgwrs atynt." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Porth:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Enw:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Grŵp" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Llysenw:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Cyfrinair:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Negeseuon _Cyflwr" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "_Tynnu" + +#~ msgid "_Subscribe" +#~ msgstr "_Tanysgrifio" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Safle gwe:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>Gosodiadau Cyfrif</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>Gosodiadau Cyfrif</b>" + +#~ msgid "Preset status messages" +#~ msgstr "Negeseuon cyflwr rhagosod" + +#~ msgid "Preset status messages." +#~ msgstr "Negeseuon cyflwr rhagosod." + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "_Cysylltu" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "Caiff %s ei ychwanegu i'ch restr cyswllt." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "ID _Jabber y cyswllt newydd:" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Rhowch eich cyfrinair os gwelwch yn dda:" + +#, fuzzy +#~ msgid "Favourite" +#~ msgstr "<b>Ffefryn:</b>" + +#~ msgid "Contact Information for %s" +#~ msgstr "Gwybodaeth Cyswllt ar gyfer %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_Gwybodaeth Cyswllt" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/_Ailenwi'r cyswllt" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/_Golygu grŵpiau" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "_Sgwrs" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Os gwelwch yn dda, rhowch llysenw newydd ar gyfer y cyswllt\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Golygu grŵpiau ar gyfer %s" + +#~ msgid "Conversation Log" +#~ msgstr "Cofnod Sgwrs" + +#~ msgid "Registering account" +#~ msgstr "Yn cofrestru cyfrif" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Rheswm:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "_Golygu ffefrynnau..." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Enw:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossip - Sgwrs" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Gofynnwyd gwybodaeth, arhoswch os gwelwch yn dda...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Enghraifft: cyfrif@jabber.org</span>" + +#, fuzzy +#~ msgid "Account Name" +#~ msgstr "_Enw cyfrif:" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - Sgwrs" + +#, fuzzy +#~ msgid "Connection Details" +#~ msgstr "Manylion Personol" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "A oes cyfrif ar weinydd Jabber gennych eisioes?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Os gwelwch yn dda, rhowch llysenw newydd ar gyfer y cyswllt\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Os gwelwch yn dda, rhowch llysenw newydd ar gyfer y cyswllt\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Cliciwch er mwyn gweld manylion cyswllt y defnyddiwr" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Gorffenwyd Cyflunio" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Mae Gossip yn gleient modern ar gyfer y system Negeseuo Cyflym Jabber.\n" +#~ "\n" +#~ "Fe fydd y cynorthwywr yma yn eich arwain drwy'r broses o gyflunio Gossip " +#~ "a'ch cysylltu i'ch hoff weinydd Jabber.\n" +#~ "\n" +#~ "Er mwyn cychwyn, cliciwch \"Ymlaen\"." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Er mwyn tanysgrifio at hysbysiadau presenolder o'r defnyddiwr, rhaid i " +#~ "chi anfon cais. Tan i'r cais yma gael ei dderbyn, fe gaiff y defnyddiwr " +#~ "ei ddangos fel \"All-lein\" wastad yn eich rhestr cysylltion." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "Ym mha grŵp hoffech roi'r cyswllt hwn?" + +#~ msgid "Jabber ID:" +#~ msgstr "ID Jabber:" + +#~ msgid "Nickname:" +#~ msgstr "Llysenw:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "_Porth:" + +#, fuzzy +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "" +#~ "Nid ydych wedi tanysgrifio at gyflwr y cyswllt hwn. Gwasgwch Tanysgrifio " +#~ "er mwyn derbyn eu cyflwr." + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Yn cofrestru cyfrif" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "_Adnodd:" + +#~ msgid "Sending request" +#~ msgstr "Yn anfon cais" + +#~ msgid "Server:" +#~ msgstr "Gweinydd:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "Safle gwe:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Croeso i Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Pa system negeseuo parod yw'r cyswllt yn ei ddefnyddio?" + +#~ msgid "What is your name?" +#~ msgstr "Beth yw eich enw?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Pa weinydd hoffech ddefnyddio?" + +#~ msgid "What username do you use?" +#~ msgstr "Pa enw cyfrif ydych chi'n ei ddefnyddio?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Pa enw cyfrif hoffech chi ddefnyddio?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Ym mha grŵp hoffech roi'r cyswllt hwn?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Mae Gossip yn awr wedi ei gyflunio yn gywir ar gyfer eich system.\n" +#~ "Fe allwch newid eich gosodiadau cyfrif yn hwyrach, gan ddewis yr eitem " +#~ "dewislen Sgwrs->Cysylltu..." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Cyfrif Jabber" + +#~ msgid "Your Identity" +#~ msgstr "Eich Hunaniaeth" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gossip - Sgwrs" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Na" + +#~ msgid "_Search..." +#~ msgstr "_Chwilio..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Ie" + +#~ msgid "Be silent when away" +#~ msgstr "Bod yn dawel wrth fod ymaith" + +#~ msgid "Be silent when busy" +#~ msgstr "Bod yn dawel wrth fod yn brysur" + +#~ msgid "Height of main window" +#~ msgstr "Uchder y prif ffenest" + +#~ msgid "The X position of the main window." +#~ msgstr "Safle X y prif ffenest." + +#~ msgid "The Y position of the main window." +#~ msgstr "Safle Y y prif ffenest." + +#~ msgid "The width of the main window." +#~ msgstr "Lled y prif ffenest." + +#~ msgid "Width of the main window" +#~ msgstr "Lled y prif ffenest" + +#~ msgid "X position of main window" +#~ msgstr "Safle X y prif ffenest" + +#~ msgid "Y position of main window" +#~ msgstr "Safle Y y prif ffenest" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, Cleient Negeseuo Cyflym" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Cuddio'r prif ffenest" + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "Manylion _Cyfrif" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Danfon Neges _Sgwrs..." + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "Aeth %s all-lein" + +#~ msgid "Available..." +#~ msgstr "Ar Gael..." + +#~ msgid "Busy..." +#~ msgstr "Prysur..." + +#~ msgid "Away..." +#~ msgstr "Ymaith..." + +#~ msgid "Contact _Information" +#~ msgstr "/_Gwybodaeth Cyswllt" + +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Sain</b>" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Golygu Cyfrifon" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "_Ymuno â Sgwrs Grŵp..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "_Porth:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Manylion cleient" + +#, fuzzy +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "Gofyn am fanylion personol..." + +#, fuzzy +#~ msgid "Could not open connection" +#~ msgstr "Methwyd cysylltu" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Pa weinydd hoffech ddefnyddio?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>Cysylltu i'r gweinydd</b>" + +#~ msgid "Written by:" +#~ msgstr "Ysgrifennwyd gan:" + +#~ msgid "Artwork by:" +#~ msgstr "Arlunio gan:" + +#~ msgid "Translated by:" +#~ msgstr "Cyfieithwyd gan:" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "_Enw cyfrif:" + +#~ msgid "%sChat - %s" +#~ msgstr "%sSgwrs - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Dangos _Cofnod" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Fersiwn:" + +#, fuzzy +#~ msgid "Latvian" +#~ msgstr "Yn gadael:" + +#~ msgid "View Lo_g" +#~ msgstr "Gweld y _Cofnod" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - Sgwrs Grŵp" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Gossip - Cysylltu" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "/_Gwybodaeth Cyswllt" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - Golygu Sgyrsiau Grŵp" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - Golygu Cyfrifon" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - Danfon Neges" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Manylion Personol" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Hoffterau" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - Danfon Neges" + +#, fuzzy +#~ msgid "Personal Details Saved!" +#~ msgstr "Manylion Personol" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Pa neges cais hoffwch chi anfon at %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Sicrhewch fod eich manylion cyfrif yn gywir." + +#~ msgid "%s wants to be notified of your status." +#~ msgstr "Mae %s eisiau cael eu hysbysu o'ch cyflwr." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Fe gafoch eich datgysylltu o'r gweinydd. A hoffech ailgysylltu?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Sicrhewch fod eich manylion cyfrif yn gywir. Hefyd, efallai nid yw'r " +#~ "gweinydd ar gael." + +#~ msgid "Edit List..." +#~ msgstr "Golygu'r Rhestr..." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "Digwyddod gwall wrth sgwrsio efo %s." + +#~ msgid "Details:" +#~ msgstr "Manylion:" + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "Digwyddod gwall wrth sgwrsio yn y sgwrs grŵp %s." + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Ni ellir cyrchu'r sgwrs grŵp %s." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Fe fydd Gossip yn awr yn ceisio defnyddio eich cyfrif:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Fe fydd Gossip yn awr yn ceisio cofrestru'r cyfrif:" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "O:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - Derbyniwyd Neges" + +#~ msgid "In reply to:" +#~ msgstr "Yn ateb i:" + +#~ msgid "To:" +#~ msgstr "I:" + +#~ msgid "_Reply..." +#~ msgstr "_Ateb..." + +#~ msgid "_Send" +#~ msgstr "_Anfon" + +#~ msgid "C_onnect" +#~ msgstr "_Cysylltu" + +#~ msgid "_Resource:" +#~ msgstr "_Adnodd:" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Ystafelloedd sgwrs ar gael</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Manylion ystafell sgwrs</b>" + +#~ msgid "Gossip - Join Group Chat" +#~ msgstr "Gossip - Ymuno a Sgwrs Grŵp" + +#~ msgid "N_ickname:" +#~ msgstr "Llysenw:" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "" +#~ "Dewiswch ffefryn, neu rhowch llysenw, enw gweinydd, a enw yr ystafell " +#~ "sgwrsio i'w ymuno ag ef." + +#~ msgid "R_emove" +#~ msgstr "_Tynnu" + +#~ msgid "_Add" +#~ msgstr "_Ychwanegu" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Personal information</b>" +#~ msgstr "<b>Manylion personol</b>" + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Negeseuon cyflwr rhagosod</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Nid yw'r gwybodaeth ar gael</i>" + +#~ msgid "Choose a Server" +#~ msgstr "Dewiswch Weinydd" + +#~ msgid "Choose from list:" +#~ msgstr "Dewiswch o'r rhestr:" + +#~ msgid "Information about ..." +#~ msgstr "Gwybodaeth ynghylch ..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "Ar ba weinydd oes cyfrif Jabber gennych?" + +#~ msgid "Sound" +#~ msgstr "Sain" + +#~ msgid "Status Message" +#~ msgstr "Neges Cyflwr" + +#~ msgid "Use a different server" +#~ msgstr "Defnyddio gweinydd arall" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Pa neges cais hoffwch chi anfon at ...?" + +#~ msgid "Gossip Website" +#~ msgstr "Safle Gwe Gossip" + +#~ msgid "Gossip, Jabber Client" +#~ msgstr "Gossip, Cleient Jabber" + +#~ msgid "Just about to leave..." +#~ msgstr "Rydw I ar fin gadael..." + +#~ msgid "Custom Busy Message..." +#~ msgstr "Neges Prysur Addasiedig..." + +#~ msgid "Leave" +#~ msgstr "Gadael" + +#~ msgid "I'm here" +#~ msgstr "Rydw I yma" + +#~ msgid "I'm not here right now" +#~ msgstr "Dydw I ddim yma ar hyn o bryd" + +#~ msgid "Timestamp all messages" +#~ msgstr "Amseru pob neges" + +#~ msgid "Whether or not to timestamp all messages in conversations." +#~ msgstr "A ddylid rhoi amser ar bob neges mewn sgyrsiau." + +#~ msgid "%sChat" +#~ msgstr "%sSgwrs" + +#~ msgid "Offline " +#~ msgstr "All-lein " + +#~ msgid "Others" +#~ msgstr "Eraill" + +#~ msgid "<b>Chat with:</b>" +#~ msgstr "<b>Sgwrs efo:</b>" + +#~ msgid "Available:" +#~ msgstr "Ar gael:" + +#~ msgid "" +#~ "These messages are used to describe your status when you're available, " +#~ "about to leave and away." +#~ msgstr "" +#~ "Defnyddir y negeseuon hyn er mwyn disgrifio eich cyflwr pan rydych chi o " +#~ "gwmpas, ar fin gadael, ac ymaith." + +#~ msgid "Use com_pact conversation style" +#~ msgstr "Defnyddio arddull sgwrsio _cryno" + +#~ msgid "Use sounds to _notify when new messages arrive" +#~ msgstr "" +#~ "Defnyddio synau er mwyn hysbysu pan mae negeseuon _newydd yn cyrraedd" + +#~ msgid "Use ta_bs instead of windows for conversations" +#~ msgstr "Defnyddio ta_biau yn hytrach na ffenestri ar gyfer sgyrsdiau" + +#~ msgid "_Timestamp all messages" +#~ msgstr "_Amseru pob neges" + +#~ msgid "Auto away enabled" +#~ msgstr "Galluogwyd ymaith awtomatig" + +#~ msgid "Extended autoaway time" +#~ msgstr "Amser ymaith estynedig awtomatig" + +#~ msgid "" +#~ "The number of minutes of idle time before automatically going into \"away" +#~ "\" mode." +#~ msgstr "" +#~ "Y nifer o funudau o amser segur cyn mynd i'r modd \"ymaith\" yn awtomtig." + +#~ msgid "" +#~ "The number of minutes of idle time before automatically going into " +#~ "\"extended away\" mode." +#~ msgstr "" +#~ "Y nifer o funudau o amser segur cyn mynd i'r modd \"ymaith estynedig\" yn " +#~ "awtomtig." + +#~ msgid "Timestamp messages" +#~ msgstr "Amseru negeseuon" + +#~ msgid "" +#~ "Whether or not to go into \"away\" mode automatically when a certain time " +#~ "of idling has passed." +#~ msgstr "" +#~ "A ddylid mynd i'r modd \"ymaith\" yn awtomatig ar ôl i gyfnod panodedig o " +#~ "fod yn segur fynd heibio." + +#~ msgid "Free to chat" +#~ msgstr "Yn rhydd i sgwrsio" + +#~ msgid "Extended away" +#~ msgstr "Ymaith estynedig" + +#~ msgid "_Edit Account..." +#~ msgstr "_Golygu'e Cyfrif..." + +#~ msgid "" +#~ "<b>Welcome to Gossip</b>\n" +#~ "\n" +#~ "Gossip is a modern client for the Jabber Instant Message system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server." +#~ msgstr "" +#~ "<b>Croeso i Gossip</b>\n" +#~ "\n" +#~ "Mae Gossip yn gleient modern ar gyfer y system Negeseuo Parod Jabber.\n" +#~ "\n" +#~ "Fe fydd y cynorthwywr yma yn eich arwain drwy'r broses o gyflunio Gossip " +#~ "a'ch cysylltu i'ch hoff weinydd Jabber." + +#~ msgid "<b>Additional information</b>" +#~ msgstr "<b>Gwybodaeth ychwanegol</b>" + +#~ msgid "<b>Address</b>" +#~ msgstr "<b>Cyfeiriad</b>" + +#~ msgid "<b>Auto away</b>" +#~ msgstr "<b>Ymaith awtomatig</b>" + +#~ msgid "Automatically enter away mode during inactivity" +#~ msgstr "Mynd i'r cyflwr ymaith yn awtomatig tra'n segur" + +#~ msgid "Enter away mode after" +#~ msgstr "Mynd i'r modd ymaith ar ôl " + +#~ msgid "I'm away eating dinner, bbiab..." +#~ msgstr "Rydw i i fwrdd yn byta fy swper, yn ôl cyn hir..." + +#~ msgid "Presence:" +#~ msgstr "Presenoldeb:" + +#~ msgid "Priority:" +#~ msgstr "Blaenoriaeth:" + +#~ msgid "Set the status you want to use" +#~ msgstr "Gosod y cyflwr hoffech ddefnyddio" + +#~ msgid "minutes" +#~ msgstr "munudau" + +#~ msgid "<b>Jabber ID:</b>" +#~ msgstr "<b>ID Jabber:</b>" + +#~ msgid "<b>Setup Finished</b>" +#~ msgstr "<b>Gorffenwyd Gosod</b>" + +#~ msgid "" +#~ "This user wants to subscribe to your presence.\n" +#~ "Do you approve?" +#~ msgstr "" +#~ "Ma'r defnyddiwr eisiau tanysgrifio i'ch presenoldeb.\n" +#~ "Ydych chi'n cymeradwyo?" + +#~ msgid "_Approve" +#~ msgstr "_Derbyn" + +#~ msgid "_Defer" +#~ msgstr "_Gohirio" + +#~ msgid "Default Account" +#~ msgstr "Cyfrif Rhaogosodedig" + +#~ msgid "Could not open the address \"%s\": %s" +#~ msgstr "Methwyd agor y cyfeiriad \"%s\": %s" + +#~ msgid "<b>Available accounts</b>" +#~ msgstr "<b>Cyfrifon ar gael</b>" + +#~ msgid "<b>What account do you want to use for this connection?</b>" +#~ msgstr "<b>Pa gyfrif hoffech ddefnyddio ar gyfer y cysylltiad hwn?</b>" + +#~ msgid "Use SS_L" +#~ msgstr "Defnyddio SS_L" + +#~ msgid "_User:" +#~ msgstr "_Defnyddiwr:" + +#~ msgid "What request message do you want to send to <b>micke</b>?" +#~ msgstr "Pa neges cais hoffwch chi anfon i <b>micke</b>?" diff --git a/trunk/po/da.po b/trunk/po/da.po new file mode 100644 index 000000000..16767c67d --- /dev/null +++ b/trunk/po/da.po @@ -0,0 +1,2578 @@ +# Danish translation of Gossip. +# Copyright (C) 2003, 04, 06 Free Software Foundation, Inc. +# Ole Laursen <olau@hardworking.dk>, 2003, 04, 06. +# David Nielsen <dnielsen@breakmygentoo.net>, 2002, 06. +# +# Konventioner: +# +# instant messaging client -> samtaleklient +# join -> deltag (om gruppesamtaler) +# +msgid "" +msgstr "" +"Project-Id-Version: gossip\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-04-23 17:32+0200\n" +"Last-Translator: Ole Laursen <olau@hardworking.dk>\n" +"Language-Team: Danish <dansk@klid.dk>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Samtaleklient" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Samtaleklient" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Åbn altid et særskilt samtalevindue for nye samtaler." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Tema for samtalevindue" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Komma-adskilt liste af sprog der skal bruges ved stavekontrol (f.eks. \"en, " +"fr, nl\")." + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Tilføj til din kontaktliste" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Deaktivér lyde når brugeren er _fraværende" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Deaktivér lyde når brugeren er _optaget" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Slå stavekontrol til" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Skjul hovedvindue" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Skjul hovedvinduet." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Åbn nye samtaler i adskilte vinduer" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Vis kontaktliste" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Hovedvinduets højde." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Vis frakoblede kontakter" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Stavekontrolleringssprog" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Det tema der bruges ved visning af samtalen i samtalevinduer." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Benyt grafiske tekstansigter" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Benyt påmindelseslyde" + +#: ../data/empathy.schemas.in.h:22 +#, fuzzy +msgid "Use theme for chat rooms" +msgstr "Deltag i samtalerummet" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Om tekstansigter skal konverteres til grafiske billeder i samtaler." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Om der skal afspilles en lyd når en besked ankommer." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Om der skal afspilles lyde når brugeren er fraværende." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Om der skal afspilles lyde når brugeren er optaget." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Om der skal afspilles en lyd når en besked ankommer." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Om kontakter der ikke er tilsluttet, skal vises i kontaktlisten." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Om kontakter der ikke er tilsluttet, skal vises i kontaktlisten." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Om kontakter der ikke er tilsluttet, skal vises i kontaktlisten." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Frakoblet" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Tilgængelig" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Optaget" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Fraværende" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Vis kontaktliste" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Gruppe" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "Kon_takt:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Skjul kontaktliste" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "_Indhold" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "_Tilføj til favoritter" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +#, fuzzy +msgid "Manage Favorites..." +msgstr "_Tilføj til favoritter" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Vis _frakoblede kontakter" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Konti" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Konti" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Tilføj kontakt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Samtale" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Indhold" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "Redigér" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Ny besked..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "_Personlige oplysninger" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Indstillinger" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Afslut" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Rum" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "_Vis foregående samtaler" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Status" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Vis kontaktliste" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip er frit programmel. Du kan redistribuere og/eller ændre programmet " +"under betingelserne givet i GNU General Public License som udgives af Free " +"Software Foundation; enten version 2 af licensen, eller (hvis du ønsker det) " +"enhver senere version." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip distribueres i håb om at programmet er nyttigt, men uden NOGEN " +"GARANTI, ikke engang underforstået garanti om at det er SALGBART eller " +"PASSER TIL ET BESTEMT FORMÅL. Se GNU General Public License for detaljer." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"Du burde have modtaget en kopi af GNU General Public License sammen med " +"Gossip. Hvis du ikke har det, kan du skrive til Free Software Foundation, " +"Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA." + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "En samtaleklient til GNOME." + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"Ole Laursen\n" +"David Nielsen\n" +"\n" +"Dansk-gruppen <dansk@dansk-gruppen.dk>\n" +"Mere info: http://www.dansk-gruppen.dk" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Tilgængelig" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Kontoindstillinger</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Kontoindstillinger</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Konti" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Om</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Om</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Kontoindstillinger</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Samtale!" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Navn:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Emne:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Eksempel: bruger@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "Login i_d" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "Adgangskode:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "Resurse:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Anvend _kryptering (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "Port:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Server:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>Kontoindstillinger</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Frakoblet" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Indsæt tekstansigt" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Kontrollér stavning af ord..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Tilsluttet" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Ryd" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Samtale" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "Kontaktoplysninger" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "S_amtale" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "_Invitér" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Indsæt tekst_ansigt" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Indtast statusbesked:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +#, fuzzy +msgid "Invite" +msgstr "_Invitér" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Flyt til _venstre" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Flyt til _højre" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Du er blevet inviteret til at deltage i en konferencesamtale." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "_Tilføj til favoritter" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Samtale" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Frigør faneblad" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Næste faneblad" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +#, fuzzy +msgid "_Paste" +msgstr "Dato" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Forrige faneblad" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "_Vis kontaktliste" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Faneblade" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Kopiér adresse" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Åbn adresse" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Ny besked" +msgstr[1] "Ny besked" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Samtalerum" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Samtale" +msgstr[1] "_Samtale" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Skriver en besked." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "Kon_takt:" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Gruppe" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Tilføj en kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "Kontaktoplysninger" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Kontaktoplysninger" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/Om_døb gruppe" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Filnavn:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "Indtast et navn for konto." + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Fjern" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/_Fjern kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "/_Invitér til samtalerum" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "_Send File..." +msgstr "/Send _fil..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Vælg en fil" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "Vis foregående samtaler" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Sprog" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Udseende" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Om</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Favorit:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Tilslutning" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Sprog</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Indstillinger</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>E-post:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +#, fuzzy +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"Denne liste af sprog reflekterer kun de sprog som du har en ordbog " +"installeret for." + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "Samtale_tema:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Deaktivér lyde når brugeren er _fraværende" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Deaktivér lyde når brugeren er _optaget" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Generelt" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Bekendtgørelse" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Indstillinger" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Konvertér _tekstansigter til små billeder" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Vis kontaktliste" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +#, fuzzy +msgid "Sort by s_tate" +msgstr "Sæt din status:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Stavekontrol" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +#, fuzzy +msgid "_Enable spell checking" +msgstr "Slå stavekontrol til" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Åbn nye samtaler i særskilte vinduer" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Afspil lyd når beskeder ankommer" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gem _dette samtalerum" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Egen besked..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "Ryd liste" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Ønsker du at acceptere denne fil?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Ryd liste" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Indtast statusbesked:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Foruddefinerede statusbeskeder" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Tilføj til statusbeskedliste" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s frakoblede sig" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s har tilsluttet sig" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Klassisk" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +#, fuzzy +msgid "Simple" +msgstr "Eksempel" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "_Ryd" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Blå" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Tilslut ikke ved start" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Gossip - samtaleklient" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Gossip - samtaleklient" + +#~ msgid "Normal" +#~ msgstr "Normal" + +#~ msgid "Joining" +#~ msgstr "Tilslutter" + +#~ msgid "Active" +#~ msgstr "Aktiv" + +#~ msgid "Inactive" +#~ msgstr "Inaktiv" + +#~ msgid "Unknown" +#~ msgstr "Ukendt" + +#~ msgid "Error" +#~ msgstr "Fejl" + +#, fuzzy +#~ msgid "No role" +#~ msgstr "Normal" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Bekendtgørelse" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "Kælenavnet du har valgt, er allerede i brug." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "" +#~ "Samtalerummet du forsøgte at tilslutte dig til, kræver en adgangskode." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "" +#~ "Fjernkonferenceserveren svarede ikke inden for en rimelig tidsfrist." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "Konferenceserveren du forsøgte at tilslutte dig kunne ikke findes." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "" +#~ "En ukendt fejl opstod, kontrollér at dine indstillinger er korrekte." + +#, fuzzy +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "Deltag i samtalerummet" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Tilgængelig" + +#~ msgid "An unknown error occurred." +#~ msgstr "Der opstod en ukendt fejl." + +#~ msgid "Connection refused." +#~ msgstr "Tilslutning afvist" + +#~ msgid "Server address could not be resolved." +#~ msgstr "Serveradressen kunne ikke findes." + +#~ msgid "Connection timed out." +#~ msgstr "Tidsfrist for forbindelsen løb ud." + +#~ msgid "Authentication failed." +#~ msgstr "Godkendelse mislykkedes." + +#~ msgid "The username you are trying already exists." +#~ msgstr "Brugernavnet du forsøger at bruge, eksisterer allerede." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "Brugernavnet du forsøger at bruge, er ugyldigt." + +#~ msgid "This feature is unavailable." +#~ msgstr "Denne funktion er ikke tilgængelig." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Denne funktion er ikke godkendt." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "En specifik protokolfejl opstod uventet." + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Ny konto" + +#~ msgid "Home" +#~ msgstr "Hjemme" + +#~ msgid "Couldn't send message!" +#~ msgstr "Kunne ikke sende besked!" + +#~ msgid "Connection could not be opened" +#~ msgstr "Forbindelsen kunne ikke åbnes" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Denne funktion er ikke tilgængelig." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Registrering" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Denne funktion er ikke godkendt." + +#~ msgid "Disconnect" +#~ msgstr "Frakobl" + +#~ msgid "Connect" +#~ msgstr "Tilslut" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Det lykkedes at registrere kontoen" + +#, fuzzy +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "Du kan ikke bruge --no-connect sammen med --account" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Det mislykkedes at registrere de nye kontoindstillinger" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Indtast din konto-adgangskode:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Indtast din konto-adgangskode:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Indtast et nyt navn til gruppen\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Ingen oplysninger tilgængelige om denne kontakt." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Oplysninger forespurgt, vent venligst..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Jeg vil gerne tilføje dig til min kontaktliste." + +#~ msgid "To summarize:" +#~ msgstr "For at opsummere:" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "Ny besked" +#~ msgstr[1] "Ny besked" + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Abonneringsanmodning" +#~ msgstr[1] "Abonneringsanmodning" + +#, fuzzy +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "Anmodning om filoverførsel" +#~ msgstr[1] "Anmodning om filoverførsel" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "Anmodningsbesked" +#~ msgstr[1] "Anmodningsbesked" + +#, fuzzy +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "Fejl" +#~ msgstr[1] "Fejl" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Hvis du afslutter, vil alt ulæst information gå tabt." + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Redigér kontooplysninger" + +#~ msgid "Word" +#~ msgstr "Ord" + +#~ msgid "New message from %s" +#~ msgstr "Ny besked fra %s" + +#, fuzzy +#~ msgid "Your invitation has been declined" +#~ msgstr "Dit filoverførselstilbud blev afvist." + +#~ msgid "Accept" +#~ msgstr "Acceptér" + +#, fuzzy +#~ msgid "Decline" +#~ msgstr "Middag" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Navn:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Rum" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Stop tilslutning" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "Oplysninger forespurgt, vent venligst..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "Ønsker du at fjerne denne kontakt fra din kontaktliste?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Indtast et nyt navn til gruppen\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Vælg" + +#~ msgid "Unsorted" +#~ msgstr "Usorteret" + +#~ msgid "New file transfer request from %s" +#~ msgstr "Ny filoverførselsanmodning fra %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "Filoverførsel er ikke understøttet af begge parter." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Dit filoverførselstilbud blev afvist." + +#~ msgid "The other user decided not to continue." +#~ msgstr "Den anden bruger besluttede ikke at forsætte." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Ukendt fejl opstod under filoverførsel." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s vil gerne sende dig en fil." + +# +#~ msgid "Someone would like to send you a file." +#~ msgstr "Nogen vil gerne sende dig en fil." + +#~ msgid "Select a file" +#~ msgstr "Vælg en fil" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Tilslutter" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Stop tilslutning" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "Inviterede %s til at deltage i denne konferencesamtale." + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s har sat emnet" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Hvilket kælenavn ønsker du at bruge til denne kontakt?" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "%s har sat emnet" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "%s har sat emnet" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Emne:" + +#~ msgid "Account" +#~ msgstr "Konto" + +#~ msgid "Conversation With" +#~ msgstr "Samtale med" + +#~ msgid "Date" +#~ msgstr "Dato" + +#~ msgid "List the available accounts" +#~ msgstr "Vis de tilgængelige konti" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Hvilken konto skal benyttes ved start" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "KONTONAVN" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "Du kan ikke bruge --no-connect sammen med --account" + +#~ msgid "No accounts available." +#~ msgstr "Ingen konti tilgængelige." + +#~ msgid "Available accounts:" +#~ msgstr "Tilgængelige konti:" + +#~ msgid "[default]" +#~ msgstr "[forvalgt]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Der er ingen konto med navnet \"%s\"." + +#~ msgid "Join" +#~ msgstr "Deltag" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Dato" + +#~ msgid "Chat Rooms" +#~ msgstr "Samtalerum" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Oplysninger forespurgt, vent venligst..." + +#~ msgid "Default" +#~ msgstr "Forvalgt" + +#~ msgid "Chat!" +#~ msgstr "Samtale!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s ønsker at blive tilføjet til din kontaktliste." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Nogen ønsker at blive tilføjet til din kontaktliste." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Abonneringsanmodning" + +#~ msgid "Contact Information" +#~ msgstr "Kontaktoplysninger" + +#~ msgid "Subject: %s" +#~ msgstr "Emne: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Forslag for ordet" + +#~ msgid "New subscription request from %s" +#~ msgstr "Ny abonneringsanmodning fra %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Ønsker du at tilføje denne person til din kontaktliste?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Ønsker du at tilføje %s til din kontaktliste?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Indtast din adgangskode for kontoen %s" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "Logger på med: %s" + +#~ msgid "Remember Password?" +#~ msgstr "Husk adgangskode?" + +#~ msgid "Could not display the help contents." +#~ msgstr "Kunne ikke vise hjælp." + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Serveren ser ikke ud til at svare." + +#~ msgid "Try again later." +#~ msgstr "Prøv igen senere." + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Samtale" + +#~ msgid "Contact goes offline" +#~ msgstr "Kontakten frakobler sig" + +#~ msgid "Contact goes online" +#~ msgstr "Kontakten tilslutter sig" + +#~ msgid "Contact ID:" +#~ msgstr "Kontakt-id:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Ønsker du at acceptere denne fil?" + +#~ msgid "File Transfer Request" +#~ msgstr "Anmodning om filoverførsel" + +#~ msgid "File name:" +#~ msgstr "Filnavn:" + +#~ msgid "File size:" +#~ msgstr "Filstørrelse:" + +#, fuzzy +#~ msgid "Not supported yet" +#~ msgstr "Ikke understøttet på nuværende tidspunkt." + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Denne person ønsker at sende dig denne fil:" + +#~ msgid "Web site:" +#~ msgstr "Hjemmeside:" + +#~ msgid "_Accept" +#~ msgstr "_Acceptér" + +#~ msgid "_Deny" +#~ msgstr "_Afvis" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Indstillinger</b>" + +#~ msgid "Account:" +#~ msgstr "Konto:" + +#, fuzzy +#~ msgid "Browse:" +#~ msgstr "Gennemse" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Redigér samtalerum" + +#~ msgid "Group Chat" +#~ msgstr "Gruppesamtale" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "Deltag" + +#~ msgid "Join room on start_up" +#~ msgstr "Deltag i rum ved _start" + +#, fuzzy +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "Deltag i dette samtalerum når Gossip starter og du er tilsluttet." + +#~ msgid "N_ame:" +#~ msgstr "N_avn:" + +#~ msgid "S_erver:" +#~ msgstr "S_erver:" + +#~ msgid "_Nickname:" +#~ msgstr "Kæle_navn:" + +#~ msgid "_Room:" +#~ msgstr "_Rum:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>Om</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Klientoplysninger</b>" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Om</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Sprog</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Personlige detaljer</b>" + +#~ msgid "<b>Status</b>" +#~ msgstr "<b>Status</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Abonnering" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "" +#~ "<span size=\"smaller\">Eksempel: Mikael eller bruger@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Konto:" + +#~ msgid "Add Contact" +#~ msgstr "Tilføj kontakt" + +#, fuzzy +#~ msgid "Alia_s:" +#~ msgstr "Alias" + +#~ msgid "Ch_at" +#~ msgstr "S_amtale" + +#~ msgid "Client:" +#~ msgstr "Klient:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "Kon_takt:" + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Tilslut ved _start" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "Kon_takt:" + +#~ msgid "Country:" +#~ msgstr "Land:" + +#~ msgid "Decide _Later" +#~ msgstr "Beslut _senere" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "Tilføj kontakt" + +#~ msgid "Edit Groups" +#~ msgstr "Redigér grupper" + +#~ msgid "Email:" +#~ msgstr "E-post:" + +#~ msgid "ID:" +#~ msgstr "Id:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Hvis du vælger at beslutte senere, vil du blive spurgt næste gang du " +#~ "logger på." + +#~ msgid "Name:" +#~ msgstr "Navn:" + +#~ msgid "OS:" +#~ msgstr "Styresystem:" + +#~ msgid "Personal Details" +#~ msgstr "Personlige detaljer" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Re_gistrér..." + +#~ msgid "Search" +#~ msgstr "Søg" + +#~ msgid "Spell Checker" +#~ msgstr "Stavekontrol" + +#~ msgid "Subscription Request" +#~ msgstr "Abonneringsanmodning" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Forslag for ordet:" + +#, fuzzy +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Dette agerer som et filter for kontaktlisten nedenfor. Du kan bruge dele " +#~ "af kontaktens navn eller id, f.eks. vil \"jabber.org\" liste alle der " +#~ "bruger den server." + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Dette navn bliver brugt i din kontaktliste for denne kontakt" + +#, fuzzy +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Dette navn bliver brugt til at identificere dig i samtalevinduer." + +#, fuzzy +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Dette navn bliver brugt til at identificere dig når nye kontakter laver " +#~ "et opslag efter dine detaljer." + +#~ msgid "Use system pro_xy" +#~ msgstr "Benyt systemets _mellemvært" + +#~ msgid "Version:" +#~ msgstr "Version:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Vis foregående samtaler" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Hvilken konto ønsker du at benytte?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Du abonnerer ikke på denne kontakt." + +#, fuzzy +#~ msgid "_Birthday:" +#~ msgstr "_Prioritet:" + +#~ msgid "_Connect" +#~ msgstr "_Tilslut" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Beskrivelse:" + +#~ msgid "_Disconnect" +#~ msgstr "_Frakobl" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "E-post:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Indtast navn eller kontakt-id på den person du ønsker at samtale med " +#~ "nedenfor." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "Port:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "_Navn:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Gruppe:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "Kæle_navn:" + +#~ msgid "_Password:" +#~ msgstr "_Adgangskode:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "_Statusbeskeder" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "_Fjern" + +#~ msgid "_Subscribe" +#~ msgstr "_Abonnér" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Hjemmeside:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>Kontoindstillinger</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>Kontoindstillinger</b>" + +#~ msgid "Preset status messages" +#~ msgstr "Forvalgte statusbeskeder" + +#~ msgid "Preset status messages." +#~ msgstr "Forvalgte statusbeskeder." + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "Måske forsøger du at tilslutte til den forkerte port?" + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "Måske kører tjenesten ikke på nuværende tidspunkt?" + +#~ msgid "Check your connection details." +#~ msgstr "Kontrollér dine forbindelsesindstillinger." + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "Måske kører serveren ikke denne tjeneste." + +#~ msgid "Check your username and password are correct." +#~ msgstr "Kontrollér at brugernavn og adgangskode er korrekte." + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s vil blive tilføjet til din kontaktliste." + +#~ msgid "%s ID of new contact:" +#~ msgstr "%s-id for ny kontakt:" + +#~ msgid "Example: %s" +#~ msgstr "Eksempel: %s" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "Du har ingen samtalekonti konfiguret!" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "" +#~ "Som det næste bliver du præsenteret for kontooplysningsvinduet for at " +#~ "konfigurere dine detaljer." + +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "" +#~ "Indtast venligst din invitationsbesked to:\n" +#~ "%s" + +#, fuzzy +#~ msgid "Favourite" +#~ msgstr "<b>Favorit:</b>" + +#~ msgid "Contact Information for %s" +#~ msgstr "Kontaktoplysninger for %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_Kontaktoplysninger" + +#~ msgid "/Re_name Contact" +#~ msgstr "/Om_døb kontakt" + +#~ msgid "/_Edit Groups" +#~ msgstr "/_Redigér grupper" + +#~ msgid "/_View Previous Conversations" +#~ msgstr "/_Vis foregående samtaler" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Indtast et nyt kælenavn til kontakten\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Redigér grupper for %s" + +#~ msgid "Conversation Log" +#~ msgstr "Samtalelog" + +#~ msgid "Registering account" +#~ msgstr "Registrering af konto" + +#~ msgid "Respond" +#~ msgstr "Svar" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "_Tilføj til favoritter" + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "" +#~ "Tilpas dit kælenavn, den server og det samtalerum du ønsker at deltage i." + +#~ msgid "Edit your chat room details:" +#~ msgstr "Redigér dine indstillinger for samtalerum:" + +#~ msgid "Na_me:" +#~ msgstr "Na_vn:" + +#~ msgid "New Chat Room" +#~ msgstr "Nyt samtalerum" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "" +#~ "Vælg a gemt samtalerum fra de nedenstående forvalgte og klik på \"Deltag" +#~ "\" for at påbegynde samtale." + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Information forespurgt, vent venligst...</b>" + +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Eksempel:</span>" + +#~ msgid "Account Name" +#~ msgstr "Kontonavn" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Samtalerum" + +#~ msgid "Connection Details" +#~ msgstr "Forbindelsesdetaljer" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Har du allerede en konto på en server?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "Indtast den port der bliver brugt ved tilslutning for denne konto." + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Indtast den server der bliver brugt ved tilslutning for denne konto." + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Indtast brugerens kontakt-ID:" + +#, fuzzy +#~ msgid "Enter your real name here" +#~ msgstr "Indtast dit rigtige navn her." + +#~ msgid "Finished" +#~ msgstr "Afsluttet" + +#, fuzzy +#~ msgid "For increased security, enable this option" +#~ msgstr "Slå denne indstilling til for øget sikkerhed." + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip er en moderne klient til samtalesystemet Jabber\n" +#~ "\n" +#~ "Denne assistent sætter dig i gang med at konfigurere Gossip og tilslutte " +#~ "dig til din favorit Jabber-server.\n" +#~ "\n" +#~ "Klik på \"Fremad\" for at komme i gang." + +#, fuzzy +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option" +#~ msgstr "" +#~ "Hvis du har en anden maskine på dit netværk som fungerer som mellemvært " +#~ "for forbindelsen til internettet og du ønsker at bruge den, så slå denne " +#~ "indstilling til" + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "Hvis du har brug for at angive specifikke forbindelsesdetaljer, såsom en " +#~ "anden server eller port, kan du konfigurere det her:" + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "For at kunne få at vide når brugeren kommer og går, vil en " +#~ "tilstedeværelses-anmodning blive sendt. Før denne anmodning er " +#~ "accepteret, vil brugeren altid blive vist som frakoblet i din " +#~ "kontaktliste." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "Hvilken gruppe ønsker du at placere denne kontakt i?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber-id:" + +#, fuzzy +#~ msgid "" +#~ "Leave this blank if you don't want your password stored on a public " +#~ "machine. If you decide to do this, you will be prompted each time you " +#~ "connect for a password" +#~ msgstr "" +#~ "Du kan lade dette være tomt hvis du ikke ønsker at din adgangskode skal " +#~ "være gemt på en offentlig maskine. Hvis du gør dette, vil du blive spurgt " +#~ "efter adgangskoden hver gang du tilslutter." + +#~ msgid "Nickname:" +#~ msgstr "Kælenavn:" + +#~ msgid "Port:" +#~ msgstr "Port:" + +#, fuzzy +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "Tryk på \"Abonnér\" for at modtage deres status." + +#~ msgid "Registering Account" +#~ msgstr "Registrering af konto" + +#~ msgid "Resource:" +#~ msgstr "Resurse:" + +#~ msgid "Sending request" +#~ msgstr "Sender forespørgsel" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#~ msgid "Web Site:" +#~ msgstr "Hjemmeside:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Velkommen til Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Hvilket samtalesystem anvender kontakten?" + +#~ msgid "What is your name?" +#~ msgstr "Hvad er dit navn?" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "Hvilket navn ønsker du at bruge til at identificere denne konto?\n" +#~ "\n" +#~ "Dette navn kunne være noget der er associeret med tjenesteudbyderen, f." +#~ "eks. <b>Google</b>." + +#~ msgid "What password do you want to use?" +#~ msgstr "Hvilken adgangskode ønsker du at anvende?" + +#~ msgid "What username do you use?" +#~ msgstr "Hvilket brugernavn benytter du?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Hvilket brugernavn ønsker du at benytte?" + +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Hvilken konto ønsker du at tilføje denne kontakt til?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Du kan ændre dine kontoindstillinger senere ved at vælge menupunktet " +#~ "Redigér->Konti." + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "" +#~ "Du skal give forbindelsen et navn, f.eks. <b>Hjemme</b> eller <b>Bærbar</" +#~ "b>." + +#~ msgid "Your Account" +#~ msgstr "Din konto" + +#~ msgid "Your Identity" +#~ msgstr "Din identitet" + +#~ msgid "Your new account has now been set up." +#~ msgstr "Din nye konto er nu konfigureret." + +#~ msgid "_Forget" +#~ msgstr "_Glem" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gruppesamtale" + +#~ msgid "_No" +#~ msgstr "_Nej" + +#~ msgid "_Search..." +#~ msgstr "_Søg..." + +#~ msgid "_Yes" +#~ msgstr "_Ja" + +#~ msgid "Be silent when away" +#~ msgstr "Vær stille når brugeren er fraværende" + +#~ msgid "Be silent when busy" +#~ msgstr "Vær stille når brugeren er optaget" + +#~ msgid "Height of main window" +#~ msgstr "Hovedvinduets højde" + +#~ msgid "The X position of the main window." +#~ msgstr "Vandret placering af hovedvinduet." + +#~ msgid "The Y position of the main window." +#~ msgstr "Lodret placering af hovedvinduet." + +#~ msgid "The width of the main window." +#~ msgstr "Bredden af hovedvinduet." + +#~ msgid "Whether spell checking should be turned on." +#~ msgstr "Om stavekontrol skal være slået til." + +#~ msgid "Width of the main window" +#~ msgstr "Hovedvinduets bredde" + +#~ msgid "X position of main window" +#~ msgstr "Vandret placering af hovedvindue" + +#~ msgid "Y position of main window" +#~ msgstr "Lodret placering af hovedvindue" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, samtaleklient" + +#~ msgid "Close this chat window" +#~ msgstr "Luk dette samtalerum" + +#~ msgid "Requested Information" +#~ msgstr "Anmodede oplysninger" + +#~ msgid "Available..." +#~ msgstr "Tilgængelig..." + +#~ msgid "Busy..." +#~ msgstr "Optaget..." + +#~ msgid "Away..." +#~ msgstr "Væk..." + +#~ msgid "Contact _Information" +#~ msgstr "Kontakt_oplysninger" + +#~ msgid "<b>Appearance and Behavior</b>" +#~ msgstr "<b>Udseende og opførsel</b>" + +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Lyd</b>" + +#~ msgid "Check spelling while I _type" +#~ msgstr "Kontrollér stavning mens jeg _skriver" + +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - konti" + +#~ msgid "Join _Group Chat..." +#~ msgstr "Deltag i _gruppesamtale..." + +#~ msgid "Por_t:" +#~ msgstr "Por_t:" + +#~ msgid "Requested information." +#~ msgstr "Forespurgte oplysninger." + +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "Forespørger kontaktoplysninger, vent venligst..." + +#~ msgid "%s has gone offline" +#~ msgstr "%s frakoblede sig" + +#~ msgid "%sChat - %s" +#~ msgstr "%sSamtale - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Vis _log" + +#~ msgid "View Lo_g" +#~ msgstr "Vis lo_g" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - gruppesamtale" + +#~ msgid "Gossip - New Chatroom" +#~ msgstr "Gossip - nyt samtalerum" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Conversation Hi_story" +#~ msgstr "Samtale_historik" + +#~ msgid "Gossip - Add contact" +#~ msgstr "Gossip - tilføj kontakt" + +#~ msgid "Gossip - Contact Information" +#~ msgstr "Gossip - kontaktoplysninger" + +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - redigér grupper" + +#~ msgid "Gossip - Logs" +#~ msgstr "Gossip - log" + +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - ny konto" + +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - ny besked" + +#~ msgid "Gossip - Personal Details" +#~ msgstr "Gossip - personlige detaljer" + +#~ msgid "Gossip - Preferences" +#~ msgstr "Gossip - indstillinger" + +#~ msgid "Gossip - Spell Checker" +#~ msgstr "Gossip - stavekontrol" + +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - statusbesked" + +#~ msgid "_Find:" +#~ msgstr "_Find:" + +#~ msgid "_Highlight" +#~ msgstr "_Fremhæv" + +#~ msgid "Artwork by:" +#~ msgstr "Grafik af:" + +#~ msgid "Translated by:" +#~ msgstr "Oversat af:" + +#~ msgid "Danish" +#~ msgstr "Dansk" + +#~ msgid "German" +#~ msgstr "Tysk" + +#~ msgid "German (Germany)" +#~ msgstr "Tysk (Tyskland)" + +#~ msgid "Greek" +#~ msgstr "Græsk" + +#~ msgid "English" +#~ msgstr "Engelsk" + +#~ msgid "English (Canadian)" +#~ msgstr "Engelsk (Canadisk)" + +#~ msgid "English (British)" +#~ msgstr "Engelsk (Britisk)" + +#~ msgid "English (American)" +#~ msgstr "Engelsk (Amerikansk)" + +#~ msgid "Esperanto" +#~ msgstr "Esperanto" + +#~ msgid "Spanish" +#~ msgstr "Spansk" + +#~ msgid "Persian" +#~ msgstr "Persisk" + +#~ msgid "Finnish" +#~ msgstr "Finsk" + +#~ msgid "French" +#~ msgstr "Fransk" + +#~ msgid "French (France)" +#~ msgstr "Fransk (Frankrig)" + +#~ msgid "Hungarian" +#~ msgstr "Hungarsk" + +#~ msgid "Icelandic" +#~ msgstr "Islandsk" + +#~ msgid "Italian" +#~ msgstr "Italiansk" + +#~ msgid "Japanese" +#~ msgstr "Japansk" + +#~ msgid "Norwegian (Bokmal)" +#~ msgstr "Norsk (Bokmål)" + +#~ msgid "Norwegian" +#~ msgstr "Norsk" + +#~ msgid "Norwegian (Nynorsk)" +#~ msgstr "Norsk (Nynorsk)" + +#~ msgid "Norwegian (Nyorsk)" +#~ msgstr "Norsk (Nynorsk)" + +#~ msgid "Polish" +#~ msgstr "Polsk" + +#~ msgid "Russian" +#~ msgstr "Russisk" + +#~ msgid "Swedish" +#~ msgstr "Svensk" + +#~ msgid "Idle" +#~ msgstr "Inaktiv" + +#~ msgid "Progress:" +#~ msgstr "Fremgang" + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Du blev koblet fra serveren. Ønsker du at tilslutte igen?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Sikr dig at dine kontooplysninger er korrekte. Det kan dog også være at " +#~ "serveren ikke er tilgængelig i øjeblikket." + +#~ msgid "Edit List..." +#~ msgstr "Redigér liste..." + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "En fejl opstod i gruppesamtalen %s." + +#~ msgid "Details:" +#~ msgstr "Detaljer:" + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Kunne ikke deltage i gruppesamtalen %s." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "En fejl opstod under samtale med %s." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip vil nu forsøge at anvende din konto:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip vil nu forsøge at registrere kontoen:" + +#~ msgid "Saving personal details, please wait..." +#~ msgstr "Gemmer personlige detaljer, vent venligst..." + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Fra:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - modtaget besked" + +#~ msgid "In reply to:" +#~ msgstr "Svar på:" + +#~ msgid "To:" +#~ msgstr "Til:" + +#~ msgid "_Reply..." +#~ msgstr "_Besvar..." + +#~ msgid "_Send" +#~ msgstr "_Send" + +#~ msgid "C_onnect" +#~ msgstr "_Tilslut" + +#~ msgid "Connect _Server:" +#~ msgstr "Tilslut til _server:" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber-id:" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Tilgængelige samtalerum</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Oplysninger om samtalerum</b>" + +#~ msgid "Imendio Gossip - Group Chat" +#~ msgstr "Gossip - gruppesamtale" + +#~ msgid "N_ickname:" +#~ msgstr "_Kælenavn:" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "" +#~ "Vælg en favorit eller indtast kælenavn, servernavn og navnet på det " +#~ "samtalerum der skal indtrædes i." + +#~ msgid "R_emove" +#~ msgstr "_Fjern" + +#~ msgid "_Add" +#~ msgstr "_Tilføj" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "" +#~ "<b>Finding the best server...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>Finder den bedste server...</b>\n" +#~ "Dette vil tage et øjeblik, vent venligst." + +#~ msgid "<b>Personal information</b>" +#~ msgstr "<b>Personlige oplysninger</b>" + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Forvalgte statusbeskeder</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Information ikke tilgængelig</i>" + +#~ msgid "Add Another Account" +#~ msgstr "Tilføj en anden konto" + +#~ msgid "Choose a Server" +#~ msgstr "Vælg en server" + +#~ msgid "Choose from list:" +#~ msgstr "Vælg fra liste:" + +#~ msgid "Configuring Service" +#~ msgstr "Registeringstjeneste" + +#~ msgid "Discover Services" +#~ msgstr "Opdagelsestjenester" + +#~ msgid "Information about ..." +#~ msgstr "Information om..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "Nick name:" +#~ msgstr "Kælenavn:" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "På hvilken server har du en Jabber-konto?" + +#~ msgid "" +#~ "Please enter your user name, password and all other required details " +#~ "below to set up your account. " +#~ msgstr "" +#~ "Indtast venligst dit brugernavn, adgangskode og andre påkrævede detaljer " +#~ "nedenforfor at opsætte din konto" + +#~ msgid "Server Details" +#~ msgstr "Serverdetaljer" + +#~ msgid "Sound" +#~ msgstr "Lyd" + +#~ msgid "Status Message" +#~ msgstr "Statusbesked" + +#~ msgid "" +#~ "This wizard will allow you to configure your account settings for another " +#~ "protocol. " +#~ msgstr "" +#~ "Denne hjælper tillader dig at konfigurere dine kontoindstillinger til en " +#~ "anden protokol." + +#~ msgid "Use a different server" +#~ msgstr "Benyt en anden server" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Hvilken forespørgselsbesked ønsker du at sende til ...?" + +#~ msgid "Which protocol would you like to set up? " +#~ msgstr "Hvilken protokol ønsker du at opsætte? " + +#~ msgid "_AIM" +#~ msgstr "_AIM" + +#~ msgid "_ICQ" +#~ msgstr "_ICQ" + +#~ msgid "_MSN" +#~ msgstr "_MSN" + +#~ msgid "_Yahoo!" +#~ msgstr "_Yahoo!" + +#~ msgid "subscription_label" +#~ msgstr "abonnerings_etiket" + +#~ msgid "Gossip Website" +#~ msgstr "Gossips hjemmeside" + +#~ msgid "Gossip, Jabber Client" +#~ msgstr "Gossip, Jabberklient" + +#~ msgid "About to leave..." +#~ msgstr "Skal til at gå..." + +#~ msgid "Autoaway message" +#~ msgstr "Automatisk fraværsbesked" + +#~ msgid "Away messages" +#~ msgstr "Fraværsbeskeder" + +#~ msgid "Busy messages" +#~ msgstr "Optaget-beskeder" + +#~ msgid "Message to show before going away" +#~ msgstr "Besked som skal vises før maskinen forlades" + +#~ msgid "Not at the computer" +#~ msgstr "Ikke ved maskinen" + +#~ msgid "Just about to leave..." +#~ msgstr "Skal lige til at gå..." + +#~ msgid "Custom Busy Message..." +#~ msgstr "Egen optaget-besked..." + +#~ msgid "Leave..." +#~ msgstr "Forlad..." + +#~ msgid "New Busy Message" +#~ msgstr "Ny optaget-besked" + +#~ msgid "New Away Message" +#~ msgstr "Ny fraværsbesked" + +#~ msgid "Working" +#~ msgstr "Arbejder" + +#~ msgid "Eating" +#~ msgstr "Spiser" + +#~ msgid "Sleeping" +#~ msgstr "Sover" + +#~ msgid "Enter the new message:" +#~ msgstr "Indtast den nye besked:" + +#~ msgid "Leave" +#~ msgstr "Forlad" + +#~ msgid "Preset messages for quickly setting away status." +#~ msgstr "Foruddefinerede beskeder til hurtigt at sætte fraværs-status." + +#~ msgid "Preset messages for quickly setting busy status." +#~ msgstr "Foruddefinerede beskeder til hurtigt at sætte optaget-status." + +#~ msgid "Reason for being busy:" +#~ msgstr "Grund til at være optaget:" + +#~ msgid "Reason for leaving:" +#~ msgstr "Grund til at forlade:" + +#~ msgid "As _Windows" +#~ msgstr "Som _vinduer" + +#~ msgid "As a _List" +#~ msgstr "Som en _liste" + +#~ msgid "_Go" +#~ msgstr "_Navigér" + +#~ msgid "Open conversations in single window with list view" +#~ msgstr "Åbn samtaler i et enkelt vindue med listevisning" + +#~ msgid "Whether or not to timestamp all messages in conversations." +#~ msgstr "Om alle beskeder i samtaler skal tidsstemples." + +#~ msgid "[Eating,Sleeping]" +#~ msgstr "[Spiser,Sover]" + +#~ msgid "[Working]" +#~ msgstr "[Arbejder]" + +#~ msgid "Custom Away Message..." +#~ msgstr "Egen fraværsbesked..." + +#~ msgid "Messages" +#~ msgstr "Beskeder" + +#~ msgid "Open conversations in a single window with _list view" +#~ msgstr "Åbn samtaler i et enkelt vindue med _listevisning" + +#~ msgid "" +#~ "These messages are used to describe your status when you're about to " +#~ "leave and when you're away." +#~ msgstr "" +#~ "Disse beskeder bruges til at beskrive din status når du skal til at gå og " +#~ "når du er fraværende." + +#~ msgid "Use com_pact conversation style" +#~ msgstr "Benyt _kompakt samtalestil" + +#~ msgid "Use sounds to _notify when new messages arrive" +#~ msgstr "Udsend lyd for at _annoncere når nye beskeder ankommer" + +#~ msgid "_Timestamp all messages" +#~ msgstr "_Tidsstempl alle beskeder" + +#~ msgid "Auto away enabled" +#~ msgstr "Auto-fravær aktiveret" + +#~ msgid "Extended autoaway time" +#~ msgstr "Udvidet-fraværstid" + +#~ msgid "" +#~ "The number of minutes of idle time before automatically going into \"away" +#~ "\" mode." +#~ msgstr "" +#~ "Antal minutters inaktivitet før der automatisk skiftes til \"fraværende\"." + +#~ msgid "" +#~ "The number of minutes of idle time before automatically going into " +#~ "\"extended away\" mode." +#~ msgstr "" +#~ "Antal minutters inaktivitet før der automatisk skiftes til \"udvidet " +#~ "fravær\"." + +#~ msgid "" +#~ "Whether or not to go into \"away\" mode automatically when a certain time " +#~ "of idling has passed." +#~ msgstr "" +#~ "Om der skal skiftes til \"fraværende\" automatisk når et bestemt tidsrum " +#~ "af inaktivitet er forløbet." + +#~ msgid "%sChat" +#~ msgstr "%sSamtale" + +#~ msgid "Offline " +#~ msgstr "Ikke tilkoblet" + +#~ msgid "Others" +#~ msgstr "Andre" + +#~ msgid "Use ta_bs instead of windows for conversations" +#~ msgstr "Benyt _faneblade i stedet for vinduer til samtaler" + +#~ msgid "Free to chat" +#~ msgstr "Ledig til snak" + +#~ msgid "Extended away" +#~ msgstr "Udvidet fravær" + +#~ msgid "_Edit Account..." +#~ msgstr "_Redigér kontoen..." + +#~ msgid "<b>Additional information</b>" +#~ msgstr "<b>Yderligere information</b>" + +#~ msgid "<b>Address</b>" +#~ msgstr "<b>Adresse</b>" + +#~ msgid "<b>Auto away</b>" +#~ msgstr "<b>Auto-forvær</b>" + +#~ msgid "<b>Jabber ID:</b>" +#~ msgstr "<b>Jabber-id:</b>" + +#~ msgid "<b>Setup Finished</b>" +#~ msgstr "<b>Konfiguration afsluttet</b>" + +#~ msgid "Automatically enter away mode during inactivity" +#~ msgstr "Skift automatisk til \"fraværende\" hvis inaktiv" + +#~ msgid "Enter away mode after" +#~ msgstr "Skift til \"fraværende\" efter" + +#~ msgid "I'm away eating dinner, bbiab..." +#~ msgstr "Jeg spiser middag, kommer snart..." + +#~ msgid "Presence:" +#~ msgstr "Tilstedeværelse:" + +#~ msgid "Priority:" +#~ msgstr "Prioritet:" + +#~ msgid "Set the status you want to use" +#~ msgstr "Sæt den status du ønsker at bruge" + +#~ msgid "_Approve" +#~ msgstr "_Godkend" + +#~ msgid "_Defer" +#~ msgstr "_Udskyd" + +#~ msgid "minutes" +#~ msgstr "minutter" diff --git a/trunk/po/de.po b/trunk/po/de.po new file mode 100644 index 000000000..0a1a9099d --- /dev/null +++ b/trunk/po/de.po @@ -0,0 +1,2308 @@ +# German translation of Gossip. +# Copyright (C) 2003-2005 Free Software Foundation, Inc. +# Hendrik Richter <naggeldak@gnome-de.org>, 2003. +# Frank Arnold <frank@scirocco-5v-turbo.de>, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: Gossip\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-06-15 17:13+0200\n" +"Last-Translator: Hendrik Richter <hendrikr@gnome.org>\n" +"Language-Team: German <gnome-de@gnome.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Instant-Messaging" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Instant-Messaging" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Keine Kontakte" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Klänge bei _Abwesenheit deaktivieren" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Klänge bei _Beschäftigung deaktivieren" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Rechtschreibprüfung aktivieren" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Hauptfenster verstecken" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Das Hauptfenster verstecken." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "Kontakte an_zeigen" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Die Höhe des Hauptfensters." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Abgemeldete Kontakte anzeigen" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +#, fuzzy +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Dieser Name wird benutzt um Sie in Chats zu identifizieren." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Grafische Smilies verwenden" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Benachrichtigen mit Klängen" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Bei Unterhaltungen Smilies in grafische Bilder umwandeln." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Bei neuer Nachricht Klang abspielen." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Bei Abwesenheit Klänge abspielen." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Bei Beschäftigung Klänge abspielen." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Bei neuer Nachricht Klang abspielen." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Abgemeldete Kontakte in der Kontaktliste anzeigen." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Abgemeldete Kontakte in der Kontaktliste anzeigen." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Abgemeldete Kontakte in der Kontaktliste anzeigen." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Abgemeldet" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Verfügbar" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Beschäftigt" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Abwesend" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "Kontakte an_zeigen" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Gruppe" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "%d Kontakte" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Verstecke Kontaktliste" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Verbinden" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "Zu Favoriten hinzu_fügen" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +#, fuzzy +msgid "Manage Favorites..." +msgstr "Zu Favoriten hinzu_fügen" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Zeige _abgemeldete Kontakte" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "Konto hinzufügen" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "Konto hinzufügen" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "Kontakt _hinzufügen …" + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Chat" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Verbinden" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Neue Nachricht …" + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Persönliche Informationen" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Einstellungen" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Raum:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "_Unterhaltung" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Status" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "Kontaktliste an_zeigen" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, Instant Messaging Client" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "" +"Hendrik Richter\n" +"Frank Arnold" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Verfügbar" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "Aktivieren" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Kontoeinstellungen</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Kontoeinstellungen</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Konto hinzufügen" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Klänge</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Klänge</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Kontoeinstellungen</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +#, fuzzy +msgid "Imendio " +msgstr "Imendio Gossip" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Name:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Thema:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Beispiel: benutzer@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "Passwort:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "_Ressource:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Verschlüsselung verwenden (_SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "P_ort:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Server:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>Kontoeinstellungen</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Nicht verbunden" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Rechtschreibprüfung …" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Verbunden" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Leeren" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "Kontakt_informationen" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "Re_gistrieren …" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Status-Nachricht eingeben:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Reiter nach _links verschieben" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Reiter nach _rechts verschieben" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "Zu Favoriten hinzu_fügen" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Unterhaltung" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "Reiter ab_trennen" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Nächster Reite" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Vorheriger Reiter" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "Kontakte an_zeigen" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Reiter" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Kopiere Link-Adresse" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Öffne Link" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A, %d. %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_Neue Nachricht …" +msgstr[1] "_Neue Nachricht …" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossip - Unterhaltung" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Unterhaltung" +msgstr[1] "_Unterhaltung" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Schreibt eine Nachricht." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "%d Kontakte" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Gruppe" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Einen Kontakt hinzufügen" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "Kontakt_informationen" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Kontaktinformationen" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/Gruppe umbe_nennen" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Benutzername:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Bitte einen neuen Spitznamen für folgenden Kontakt eingeben:\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Entfernen" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/Kontakt _löschen" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossip - Unterhaltung" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Wählen" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "_Unterhaltung" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "<b>Erscheinungsbild</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Klänge</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Erscheinungsbild</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Klänge</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +#, fuzzy +msgid "<b>Languages</b>" +msgstr "<b>Erscheinungsbild</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Verbinden" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Beschreibung</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "Chat-Na_me:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Klänge bei _Abwesenheit deaktivieren" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Klänge bei _Beschäftigung deaktivieren" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Benachrichtigen mit Klängen" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Einstellungen" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "_Smilies in grafische Bilder umwandeln" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "Kontaktliste an_zeigen" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +#, fuzzy +msgid "Spell Checking" +msgstr "Rechtschreibprüfung" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +#, fuzzy +msgid "_Enable spell checking" +msgstr "Rechtschreibprüfung aktivieren" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "Bei neuer Nachricht Klang abspielen" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gossip - Unterhaltung" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "_Neue Nachricht …" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "_Leeren" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Sind Sie sicher, dass dieses Konto entfernt werden soll?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "_Leeren" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Status-Nachricht eingeben:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Status-Nachrichten" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Vorgefertigte Status-Nachrichten" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s hat sich abgemeldet" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s hat sich angemeldet" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +#, fuzzy +msgid "Simple" +msgstr "Beispiel: %s" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "_Leeren" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Nicht automatisch verbinden" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Gossip Instant-Messaging" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Gossip Instant-Messaging" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Betreten" + +#~ msgid "Unknown" +#~ msgstr "Unbekannt" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Benachrichtigen mit Klängen" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Verfügbar" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Verbunden" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Verbunden" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Konto hinzufügen" + +#~ msgid "Home" +#~ msgstr "Ort" + +#~ msgid "Couldn't send message!" +#~ msgstr "Senden der Nachricht fehlgeschlagen!" + +#~ msgid "Connection could not be opened" +#~ msgstr "Verbindung konnte nicht geöffnet werden" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Registrierung erforderlich" + +#, fuzzy +#~ msgid "There was an internal service error" +#~ msgstr "Interner Server-Fehler" + +#, fuzzy +#~ msgid "The remote service timed out" +#~ msgstr "Zeitüberschreitung des entfernten Servers" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Verbindung _trennen" + +#~ msgid "Connect" +#~ msgstr "Verbinden" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Konto erfolgreich registriert" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Fehler beim Registrieren des Kontos" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Bitte Passwort eingeben:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Bitte Passwort eingeben:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Bitte einen neuen Namen für folgende Gruppe eingeben:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Für diesen Kontakt sind keine Informationen verfügbar." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Informationen angefordert, bitte warten …" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Ich möchte Dich gerne zu meiner Kontaktliste hinzufügen." + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_Neue Nachricht …" +#~ msgstr[1] "_Neue Nachricht …" + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Anfrage nach Benachrichtigung" +#~ msgstr[1] "Anfrage nach Benachrichtigung" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "Senden der Nachricht fehlgeschlagen!" +#~ msgstr[1] "Senden der Nachricht fehlgeschlagen!" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Kontoinformationen bearbeiten" + +#~ msgid "Word" +#~ msgstr "Wort" + +#~ msgid "New message from %s" +#~ msgstr "Neue Nachricht von %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Akzeptieren" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Name:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Raum:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Verbinden" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "Informationen angefordert, bitte warten …" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Soll der Kontakt\n" +#~ "%s\n" +#~ "aus der Kontaktliste gelöscht werden?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Bitte einen neuen Namen für folgende Gruppe eingeben:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Wählen" + +#~ msgid "Unsorted" +#~ msgstr "Unsortiert" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "Ich möchte Dich gerne zu meiner Kontaktliste hinzufügen." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "Ich möchte Dich gerne zu meiner Kontaktliste hinzufügen." + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Wählen" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_Verbinden …" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Verbinden" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Spitzname für den Kontakt:" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Thema:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Konto hinzufügen" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Unterhaltung" + +#~ msgid "List the available accounts" +#~ msgstr "Liste der verfügbaren Konten" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Konto mit dem automatisch verbunden werden soll" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "KONTENNAME" + +#~ msgid "Available accounts:" +#~ msgstr "Verfügbare Konten:" + +#~ msgid "[default]" +#~ msgstr "[Vorgabe]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Kein Konto namens »%s« vorhanden." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Betreten" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossip - Unterhaltung" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Betreten des Chat-Raums wird versucht, bitte warten …" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[Vorgabe]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Chat" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s möchte in Ihre Kontaktliste aufgenommen werden." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Jemand möchte in Ihre Kontaktliste aufgenommen werden." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Anfrage nach Benachrichtigung" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "Kontakt_informationen" + +#~ msgid "Suggestions for the word" +#~ msgstr "Vorschläge für das Wort" + +#, fuzzy +#~ msgid "New subscription request from %s" +#~ msgstr "Anfrage nach Benachrichtigung" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Möchten Sie diese Person Ihrer Kontaktliste hinzufügen?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Möchten Sie %s Ihrer Kontaktliste hinzufügen?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Bitte Passwort eingeben:" + +#~ msgid "Remember Password?" +#~ msgstr "Passwort merken" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Chat" + +#~ msgid "Contact goes offline" +#~ msgstr "Kontakt hat sich abgemeldet" + +#~ msgid "Contact goes online" +#~ msgstr "Kontakt hat sich angemeldet" + +#, fuzzy +#~ msgid "Contact ID:" +#~ msgstr "1 Kontakt" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Anfrage akzeptieren?" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "Benutzername:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "Webseite:" + +#~ msgid "Web site:" +#~ msgstr "Webseite:" + +#~ msgid "_Accept" +#~ msgstr "_Akzeptieren" + +#~ msgid "_Deny" +#~ msgstr "_Verweigern" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Klänge</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Konto hinzufügen" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - Unterhaltung" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - Unterhaltung" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Betreten" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Nicht automatisch verbinden" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Name:" + +#~ msgid "S_erver:" +#~ msgstr "S_erver:" + +#~ msgid "_Nickname:" +#~ msgstr "Sp_itzname:" + +#~ msgid "_Room:" +#~ msgstr "_Raum:" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>Klänge</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Client-Informationen" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Klänge</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Erscheinungsbild</b>" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "Persönliche Details" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Benachrichtigung" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Beispiel: benutzer@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Konto hinzufügen" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "Kontakt _hinzufügen …" + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Chat" + +#~ msgid "Client:" +#~ msgstr "Client:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "%d Kontakte" + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Nicht automatisch verbinden" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "%d Kontakte" + +#~ msgid "Country:" +#~ msgstr "Land:" + +#~ msgid "Decide _Later" +#~ msgstr "_Später entscheiden" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "Kontakt _hinzufügen …" + +#~ msgid "Edit Groups" +#~ msgstr "Gruppen bearbeiten" + +#~ msgid "Email:" +#~ msgstr "E-Mail:" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "JID" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Falls Sie gewählt haben, sich später zu entscheiden, werden Sie das " +#~ "nächste Mal gefragt, wenn Sie sich anmelden." + +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "OS:" +#~ msgstr "Betriebssystem:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "_Persönliche Details" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Re_gistrieren …" + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Suchen …" + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Rechtschreibprüfung" + +#, fuzzy +#~ msgid "Subscription Request" +#~ msgstr "Anfrage nach Benachrichtigung" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Vorschläge für das Wort:" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Spitzname für den Kontakt:" + +#, fuzzy +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Dieser Name wird benutzt um Sie in Chats zu identifizieren." + +#, fuzzy +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "Dieser Name wird benutzt um Sie in Chats zu identifizieren." + +#~ msgid "Use system pro_xy" +#~ msgstr "System-Pro_xy benutzen" + +#~ msgid "Version:" +#~ msgstr "Version:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "_Unterhaltung" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Gewünschter Benutzername:" + +#, fuzzy +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Für diesen Kontakt sind keine Informationen verfügbar." + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Verbinden" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Beschreibung" + +#~ msgid "_Disconnect" +#~ msgstr "Verbindung _trennen" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "E-Mail:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Geben Sie die Benutzer-ID der Person ein der Sie eine Nachricht schicken " +#~ "möchten." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "P_ort:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Name:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Gruppe" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "Sp_itzname:" + +#~ msgid "_Password:" +#~ msgstr "_Passwort:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "_Status-Nachrichten" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "_Entfernen" + +#~ msgid "_Subscribe" +#~ msgstr "_Benachrichtigen" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Webseite:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>Kontoeinstellungen</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>Kontoeinstellungen</b>" + +#~ msgid "Preset status messages" +#~ msgstr "Vorgefertigte Status-Nachrichten" + +#~ msgid "Preset status messages." +#~ msgstr "Vorgefertigte Status-Nachrichten." + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "Verbinden" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s wird Ihrer Kontaktliste hinzugefügt." + +#~ msgid "%s ID of new contact:" +#~ msgstr "%s-ID des neuen Kontakts:" + +#~ msgid "Example: %s" +#~ msgstr "Beispiel: %s" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "Sie haben keine Instant-Messaging-Konten eingerichtet!" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "" +#~ "Als nächstes wird ein Informationsdialog angezeigt, in dem Sie die " +#~ "Einzelheiten zu Ihrem Konto eingeben können." + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Bitte Passwort eingeben:" + +#, fuzzy +#~ msgid "Favourite" +#~ msgstr "Favorit:" + +#~ msgid "Contact Information for %s" +#~ msgstr "Kontaktinformationen von %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/Kontakt_informationen" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/Kontakt umbe_nennen" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/Gruppen _bearbeiten" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "_Unterhaltung" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Bitte einen neuen Spitznamen für folgenden Kontakt eingeben:\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Bearbeite Gruppen für »%s«" + +#~ msgid "Conversation Log" +#~ msgstr "Mitschnitt der Unterhaltung" + +#~ msgid "Registering account" +#~ msgstr "Konto wird registriert" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Grund:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "Zu Favoriten hinzu_fügen" + +#, fuzzy +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "" +#~ "Wählen Sie einen Favoriten oder geben Sie einen Spitznamen, den Namen des " +#~ "Servers und den Namen des Chat-Raums ein, um den Raum zu betreten." + +#, fuzzy +#~ msgid "Edit your chat room details:" +#~ msgstr "Bearbeiten der Einzelheiten zu bevorzugten Chat-Räumen:" + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Name:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossip - Unterhaltung" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Informationen angefordert, bitte warten...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Beispiel: msn.server.com</span>" + +#, fuzzy +#~ msgid "Account Name" +#~ msgstr "Konto hinzufügen" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - Unterhaltung" + +#, fuzzy +#~ msgid "Connection Details" +#~ msgstr "Konfigurationsdetails" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Haben Sie bereits ein Konto auf einem Jabber-Server?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Bitte einen neuen Spitznamen für folgenden Kontakt eingeben:\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Bitte einen neuen Spitznamen für folgenden Kontakt eingeben:\n" +#~ "%s" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Einrichtung abgeschlossen" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip ist ein moderner Client für das Jabber Instant-Message-System.\n" +#~ "\n" +#~ "Dieser Assistent hilft Ihnen beim Konfigurieren von Gossip und verbindet " +#~ "Sie zu einem Jabber-Server Ihrer Wahl.\n" +#~ "\n" +#~ "Um fortzufahren bitte auf »Vor« klicken." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Um Benachrichtigungen über die Anwesenheit des Benutzers zu bekommen wird " +#~ "nun eine Anfrage gesendet. Bis dieser Anfrage zugestimmt wird erscheint " +#~ "der Benutzer als »Abgemeldet« in Ihrer Kontaktliste." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "Gruppe, in die Kontakt eingefügt werden soll." + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Nickname:" +#~ msgstr "Spitzname:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "P_ort:" + +#, fuzzy +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "" +#~ "Sie werden nicht über den Status dieses Kontakts benachrichtigt. Klicken " +#~ "Sie auf »Benachrichtigen« um den Status zu erfahren." + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Konto wird registriert" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "_Ressource:" + +#~ msgid "Sending request" +#~ msgstr "Sende Anfrage" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "Webseite:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Willkommen bei Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Instant-Messaging-System des Kontakts:" + +#~ msgid "What is your name?" +#~ msgstr "Ihr Name:" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Server:" + +#~ msgid "What username do you use?" +#~ msgstr "Ihr Benutzername:" + +#~ msgid "What username do you want to use?" +#~ msgstr "Gewünschter Benutzername:" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Gruppe, in die Kontakt eingefügt werden soll." + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Gossip ist nun korrekt für Ihr System konfiguriert.\n" +#~ "Sie können Ihre Kontoeinstellungen später im Menü Aktionen - " +#~ "Verbinden... ändern." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Konto hinzufügen" + +#~ msgid "Your Identity" +#~ msgstr "Ihre Identität" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gossip - Unterhaltung" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Nein" + +#~ msgid "_Search..." +#~ msgstr "_Suchen …" + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Ja" + +#~ msgid "Be silent when away" +#~ msgstr "Keine Benachrichtigung bei Abwesenheit" + +#~ msgid "Be silent when busy" +#~ msgstr "Keine Benachrichtigung bei Beschäftigung" + +#~ msgid "Height of main window" +#~ msgstr "Höhe des Hauptfensters" + +#~ msgid "The X position of the main window." +#~ msgstr "Die X-Position des Hauptfensters." + +#~ msgid "The Y position of the main window." +#~ msgstr "Die Y-Position des Hauptfensters." + +#~ msgid "The width of the main window." +#~ msgstr "Die Breite des Hauptfensters." + +#~ msgid "Whether spell checking should be turned on." +#~ msgstr "Legt fest, ob die Rechtschreibprüfung eingeschaltet sein soll." + +#~ msgid "Width of the main window" +#~ msgstr "Breite des Hauptfensters" + +#~ msgid "X position of main window" +#~ msgstr "X-Position des Hauptfensters" + +#~ msgid "Y position of main window" +#~ msgstr "Y-Position des Hauptfensters" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, Instant Messaging Client" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Das Hauptfenster verstecken." + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "_Kontoinformationen" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Status-Nachricht" + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s hat sich abgemeldet" + +#~ msgid "Available..." +#~ msgstr "Verfügbar …" + +#~ msgid "Busy..." +#~ msgstr "Beschäftigt …" + +#~ msgid "Away..." +#~ msgstr "Abwesend …" + +#~ msgid "Contact _Information" +#~ msgstr "Kontakt_informationen" + +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Klänge</b>" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Unterhaltung" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "_Chat betreten …" + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "P_ort:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Client-Informationen" + +#, fuzzy +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "Fordere persönliche Details an, bitte warten …" + +#, fuzzy +#~ msgid "Could not open connection" +#~ msgstr "Verbindung konnte nicht hergestellt werden" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Server:" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "Verbindung konnte nicht geöffnet werden" + +#~ msgid "Written by:" +#~ msgstr "Programmiert von:" + +#~ msgid "Artwork by:" +#~ msgstr "Grafiken von:" + +#~ msgid "Translated by:" +#~ msgstr "Übersetzt von:" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "Konto hinzufügen" + +#~ msgid "%sChat - %s" +#~ msgstr "%sUnterhaltung - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Zeige _Mitschnitt" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Version:" + +#~ msgid "View Lo_g" +#~ msgstr "_Mitschnitt" + +#, fuzzy +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - Chat betreten" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Kontakt hinzufügen" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "Kontakt_informationen" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - Chat-Favoriten bearbeiten" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - Unterhaltung" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - Nachricht gesendet" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Persönliche Details" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Einstellungen" + +#, fuzzy +#~ msgid "Gossip - Spell Checker" +#~ msgstr "Rechtschreibprüfung" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - Statusvorgaben" + +#, fuzzy +#~ msgid "Personal Details Saved!" +#~ msgstr "Persönliche Details" + +#, fuzzy +#~ msgid "Waiting for server to respond, please wait..." +#~ msgstr "<b>Warte auf Antwort des Servers...</b>" + +#~ msgid "Redirect" +#~ msgstr "Umleiten" + +#~ msgid "Bad Request" +#~ msgstr "Ungültige Anfrage" + +#~ msgid "Not Authorized" +#~ msgstr "Nicht autorisiert" + +#~ msgid "Payment Required" +#~ msgstr "Bezahlung erforderlich" + +#~ msgid "Forbidden" +#~ msgstr "Verboten" + +#~ msgid "Not Found" +#~ msgstr "Nicht gefunden" + +#~ msgid "Not Allowed" +#~ msgstr "Nicht erlaubt" + +#~ msgid "Not Acceptable" +#~ msgstr "Nicht akzeptabel" + +#~ msgid "Request Timeout" +#~ msgstr "Zeitüberschreitung der Anfrage" + +#~ msgid "Conflict" +#~ msgstr "Konflikt" + +#~ msgid "Not Implemented" +#~ msgstr "Nicht implementiert" + +#~ msgid "Remote Server Error" +#~ msgstr "Fehler des entfernten Servers" + +#~ msgid "Service Unavailable" +#~ msgstr "Dienst nicht verfügbar" + +#~ msgid "Edit List..." +#~ msgstr "Liste bearbeiten …" + +#~ msgid "Custom" +#~ msgstr "Benutzerdefiniert" + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip versucht nun folgendes Konto zu benutzen:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip versucht nun folgendes Konto zu registrieren:" + +#~ msgid "" +#~ "If you continue, you will not be able to talk to the 1 contact you are " +#~ "using this account for!" +#~ msgstr "" +#~ "Wenn Sie fortfahren, werden Sie sich mit dem Kontakt, für den Sie dieses " +#~ "Konto verwenden, nicht mehr unterhalten können!" + +#~ msgid "" +#~ "If you continue, you will not be able to add or talk to contacts using " +#~ "this transport!" +#~ msgstr "" +#~ "Wenn Sie fortfahren, ist das Hinzufügen oder das Unterhalten mit " +#~ "Kontakten über dieses Konto nicht mehr möglich!" + +#~ msgid "" +#~ "If you continue, you will not be able to talk to the %d contacts you are " +#~ "using this account for!" +#~ msgstr "" +#~ "Wenn Sie fortfahren, werden Sie sich mit den %d Kontakten, für die Sie " +#~ "dieses Konto verwenden, nicht mehr unterhalten können!" + +#~ msgid "Searching Local Services..." +#~ msgstr "Lokale Dienste werden gesucht …" + +#~ msgid "Searching Local Services (%d of %d)" +#~ msgstr "Lokale Dienste werden gesucht (%d von %d)" + +#~ msgid "Talking to available services..." +#~ msgstr "Lokale Dienste werden kontaktiert …" + +#~ msgid "Searching 3rd Party Services..." +#~ msgstr "Dienste von Dritten werden gesucht …" + +#~ msgid "Searching 3rd Party Services (%d of %d)" +#~ msgstr "Dienste von Dritten werden gesucht (%d von %d)" + +#~ msgid "Sorry, no services found at this time." +#~ msgstr "Zurzeit sind leider keine Dienste verfügbar." + +#~ msgid "" +#~ "Currently no providers are available for the account type you are trying " +#~ "to configure. Please try again later." +#~ msgstr "" +#~ "Zurzeit ist kein Anbieter für den zu konfigurierenden Kontentyp " +#~ "verfügbar. Bitte versuchen Sie es später noch einmal." + +#~ msgid "Select your prefered service." +#~ msgstr "Wählen Sie Ihren bevorzugten Dienst." + +#~ msgid "This will be used to configure your account details." +#~ msgstr "Dies wird verwendet, um die Details zu Ihrem Konto einzurichten." + +#~ msgid "Unable to Register" +#~ msgstr "Registrierung fehlgeschlagen" + +#~ msgid "The service confirmed the user '%s' is already registered." +#~ msgstr "Der Dienst meldete, dass der Benutzer »%s« bereits registriert ist." + +#~ msgid "" +#~ "When registering a token is provided by the service to register with, in " +#~ "this case, the token has not been sent." +#~ msgstr "" +#~ "Bei der Registrierung wird vom Dienst, bei dem die Anmeldung erfolgt, ein " +#~ "Erkennungszeichen bereitgestellt. In diesem Fall wurde das " +#~ "Erkennungszeichen nicht gesendet." + +#~ msgid "Please try again, or perhaps another service." +#~ msgstr "" +#~ "Bitte versuchen Sie es noch einmal oder wählen Sie einen anderen Dienst." + +#~ msgid "Configuring Roster" +#~ msgstr "Kontaktliste wird konfiguriert" + +#~ msgid "Registration Successful!" +#~ msgstr "Registrierung erfolgreich!" + +#~ msgid "You are now able to add contacts using this transport." +#~ msgstr "" +#~ "Sie sind jetzt in der Lage, Kontakte unter Verwendung dieses Kontos " +#~ "hinzuzufügen." + +#~ msgid "Service" +#~ msgstr "Dienst" + +#~ msgid "Checking your local service first..." +#~ msgstr "Lokale Dienste werden zuerst überprüft …" + +#~ msgid "" +#~ "<b>Configuring your new service...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>Neuer Dienst wird konfiguriert…</b>\n" +#~ "Dies kann einige Momente dauern, bitte warten." + +#~ msgid "Registering With Service" +#~ msgstr "Anmeldung beim Dienst erfolgt" + +#~ msgid "Saving personal details, please wait..." +#~ msgstr "Speichere persönliche Details, bitte warten …" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Von:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - Nachricht empfangen" + +#~ msgid "In reply to:" +#~ msgstr "In Antwort auf:" + +#~ msgid "To:" +#~ msgstr "An:" + +#~ msgid "_Reply..." +#~ msgstr "_Antworten …" + +#~ msgid "_Send" +#~ msgstr "_Senden" + +#~ msgid "<b>Connect to server</b>" +#~ msgstr "<b>Verbindung zu Server</b>" + +#~ msgid "C_onnect" +#~ msgstr "_Verbinden" + +#~ msgid "Connect _Server:" +#~ msgstr "_Server:" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#~ msgid "Edit or Delete this favourite." +#~ msgstr "Diesen Favoriten bearbeiten oder löschen" + +#~ msgid "Gossip - Edit Favorite" +#~ msgstr "Gossip - Favorit bearbeiten" + +#~ msgid "Imendio Gossip - Group Chat" +#~ msgstr "Imendio Gossip - Chat" + +#~ msgid "_Favorite:" +#~ msgstr "_Favorit:" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Personal information</b>" +#~ msgstr "<b>Persönliche Informationen</b>" + +#~ msgid "<b>Prefered Service</b>" +#~ msgstr "<b>Bevorzugter Dienst</b>" + +#~ msgid "<b>Recommended Services</b>" +#~ msgstr "<b>Empfohlene Dienste</b>" + +#~ msgid "" +#~ "<b>Requested service requirements...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>Voraussetzungen für den Dienst angefordert…</b>\n" +#~ "Dies kann einige Momente dauern, bitte warten." + +#~ msgid "<b>Spell Checking</b>" +#~ msgstr "<b>Rechtschreibprüfung</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Informationen nicht verfügbar</i>" + +#~ msgid "Add Another Account" +#~ msgstr "Weiteres Konto hinzufügen" + +#~ msgid "Choose a Server" +#~ msgstr "Server auswählen" + +#~ msgid "Choose from list:" +#~ msgstr "Aus Liste wählen:" + +#~ msgid "Configure Transport" +#~ msgstr "Konto einrichten" + +#~ msgid "Configure Transports" +#~ msgstr "Konten einrichten" + +#~ msgid "Configuring Service" +#~ msgstr "Konfiguration des Dienstes" + +#~ msgid "If you prefer, you can specify your own service:" +#~ msgstr "Wenn gewünscht, kann ein eigener Dienst angegeben werden:" + +#~ msgid "Information about ..." +#~ msgstr "Informationen über …" + +#~ msgid "Jabber Account" +#~ msgstr "Jabber-Konto" + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "Nick name:" +#~ msgstr "Spitzname:" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "Auf welchem Server haben Sie ein Jabber-Konto?" + +#~ msgid "Please complete the details below to set up your account: " +#~ msgstr "" +#~ "Bitte vervollständigen Sie die folgenden Details zur Einrichtung des " +#~ "Kontos: " + +#~ msgid "Populating services..." +#~ msgstr "Sammle Dienste …" + +#~ msgid "Remove Account" +#~ msgstr "Konto löschen" + +#~ msgid "Service Details" +#~ msgstr "Dienst Details" + +#~ msgid "Service:" +#~ msgstr "Dienst:" + +#~ msgid "" +#~ "This wizard will allow you to configure your account settings for another " +#~ "protocol. " +#~ msgstr "" +#~ "Dieser Assistent erlaubt es, Ihr Konto für andere Protokolle " +#~ "einzurichten. " + +#~ msgid "Transport Accounts" +#~ msgstr "Übertragungskonten" + +#~ msgid "Use a different server" +#~ msgstr "Einen anderen Server benutzen" + +#~ msgid "Which protocol would you like to set up? " +#~ msgstr "Welches Protokoll möchten Sie einrichten? " + +#~ msgid "" +#~ "You can set the status presets which appear in the presence menu on the " +#~ "main window here." +#~ msgstr "" +#~ "Die Statusvorgaben, welche im Anwesenheitsmenü im Hauptfenster " +#~ "erscheinen, können Sie hier einrichten." + +#~ msgid "You currently have the following accounts set up:" +#~ msgstr "Zu Zeit sind folgende Konten eingerichtet:" + +#~ msgid "_Jabber ID of new contact:" +#~ msgstr "_Jabber-ID des neuen Kontakts:" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Welche Anfrage möchten Sie an %s senden?" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Verfügbare Chat-Räume</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Chat-Raum Informationen</b>" + +#~ msgid "N_ickname:" +#~ msgstr "Sp_itzname:" + +#~ msgid "R_emove" +#~ msgstr "_Entfernen" + +#~ msgid "_Add" +#~ msgstr "_Hinzufügen" + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Vorgefertige Status-Nachrichten</b>" + +#~ msgid "Add to your contact list" +#~ msgstr "Zur Kontaktliste hinzufügen" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Welche Anfrage möchten Sie senden?" + +#~ msgid "Sound" +#~ msgstr "Klänge" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Stellen Sie sicher, dass Ihre Konto-Informationen korrekt sind." + +#~ msgid "%s wants to be notified of your status." +#~ msgstr "%s möchte über Ihre Anwesenheit informiert werden." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Verbindung zum Server wurde unterbrochen. Neu verbinden?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Stellen Sie sicher, dass Ihre Konto-Informationen korrekt sind." +#~ "Möglicherweise ist der Server zurzeit nicht erreichbar" + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "Beim Unterhalten mit %s ist ein Fehler aufgetreten." + +#~ msgid "Details:" +#~ msgstr "Details:" + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "Beim Unterhalten im Chat %s ist ein Fehler aufgetreten." + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Chat %s konnte nicht betreten werden." + +#~ msgid "Discover Services" +#~ msgstr "Suche Services" + +#~ msgid "_AIM" +#~ msgstr "_AIM" + +#~ msgid "_ICQ" +#~ msgstr "_ICQ" + +#~ msgid "_MSN" +#~ msgstr "_MSN" + +#~ msgid "_Yahoo!" +#~ msgstr "_Yahoo!" diff --git a/trunk/po/dz.po b/trunk/po/dz.po new file mode 100644 index 000000000..d3905bd01 --- /dev/null +++ b/trunk/po/dz.po @@ -0,0 +1,1745 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip.HEAD.pot\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2007-03-25 23:37+0530\n" +"Last-Translator: yangka <yanang_ka@hotmail.com>\n" +"Language-Team: Dzongkha <pgeyleg@dit.gov.bt>\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-Poedit-Language: Dzongkha\n" +"X-Poedit-Country: BHUTAN\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "འཕྲལ་མྱུར་འཕྲིན་བསྐྱེལ་པ་" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "འཕྲལ་མྱུར་འཕྲིན་བསྐྱེལ་པ་" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "ཁ་སླབ་གསརཔ་གི་དོན་ལུ་ ཁ་སླབ་སྒོ་སྒྲིག་སོ་སོ་ཅིག་ཨ་རྟག་རང་ཁ་ཕྱེ།" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "ཁ་སླབ་སྒོ་སྒྲིག་བརྗོད་དོན་" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"ལག་ལེན་འཐབ་ནིའི་དོན་ལས་ སྡེབ་དཔྱོདཔ་སྐད་ཡིག་ཚུ་གི་ ལྷད་རྟགས་ཀྱིས་སོ་སོ་འཕྱལ་འཕྱལ་བའི་ཐོ་ཡིག་ (དཔེར་" +"ན་ ཨི་ཨེན་ ཨེཕ་ཨར་ ཨེན་ཨེལ་)" + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "སྲབ་ཆུང་འབྲེལ་བ་འཐབ་ནིའི་ཐོ་ཡིག་" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "ལས་ ཨེ་ཝ་ཊར་གཟུགས་བརྙན་ཅིག་སེལ་འཐུ་འབད་ནིའི་དོན་ལས་ སྔོན་སྒྲིག་སྣོད་ཐོ་" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "འབྲེལ་བ་འཐབ་ས་འདི་འཐོབ་ཚུགསཔ་ཡོད་པའི་སྐབས་ པོཔ་ཨཔ་ལྕོགས་ཅན་བཟོ་" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "ཕྱི་ཁར་ཨིན་པའི་སྐབས་ སྒྲ་སྐད་ལྕོགས་ཅན་བཟོ་" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "ཁོམ་མེད་ཨིན་པའི་སྐབས་ སྒྲ་སྐད་ལྕོགས་ཅན་བཟོ་" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "སྡེབ་དཔྱོདཔ་ལྕོགས་ཅན་བཟོ་" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "སྒོ་སྒྲིག་གཙོ་བོ་སྦ་བཞག་" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "སྒོ་སྒྲིག་གཙོ་བོ་འདི་སྦ་བཞག་" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "ཁ་སླབ་གསརཔ་ཚུ་ སྒོ་སྒྲིག་སོ་སོ་ཚུ་ནང་ཁ་ཕྱེ་" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "ཨེ་ཝ་ཊར་ཚུ་སྟོན་" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "སྒོ་སྒྲིག་གཙོ་བོ་འདི་ཁ་བསྡམ་ནིའི་སྐོར་ལས་ བརྡ་མཚོན་ནི་སྟོན་" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "གློག་ལམ་མེད་པའི་འབྲེལ་བ་འཐབ་ཚུ་ས་སྟོན་" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "སྡེབ་དཔྱད་འབད་ནིའི་སྐད་ཡིག་ཚུ་" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "ལས་གདམ་ཁ་རྐྱབས་ཡོད་མི་ ཨེ་ཝ་ཊར་གཟུགས་བརྙན་ཅིག་གི་ མཇུག་གི་སྣོད་ཐོ།" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" +"ཁ་སླབ་སྒོ་སྒྲིག་ཚུ་ནང་ གྲོས་གླེང་འདི་བཀྲམ་སྟོན་འབད་ནིའི་དོན་ལས་ ལག་ལེན་འཐབ་ཡོད་མི་བརྗོད་དོན་འདི།" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "ཚད་རིས་ཅན་གྱི་སི་མའི་ལི་ཚུ་ལག་ལེན་འཐབ་" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "བརྡ་བསྐུལ་སྒྲ་སྐད་ཚུ་ལག་ལེན་འཐབ་" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "ཁ་སླབ་ཁང་མིག་ཚུ་གི་དོན་ལུ་བརྗོད་དོན་ལག་ལེན་འཐབ་" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" +"ཁྱོད་ཀྱིས་ཞིབ་དཔྱད་འབད་ནི་ཨིན་མི་ སྐད་ཡིག་ཚུ་གི་རྒྱབ་འགལ་དུ་ཡིག་དཔར་རྐྱབས་ཡོད་པའི་མིང་ཚིག་ཚུ་ ཞིབ་དཔྱད་" +"འབད་ནི་ཨིན་ན་མེན་ན།" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "སི་མའི་ལི་ཚུ་ གྲོས་གླེང་ནང་ ཚད་རིས་ཅན་གྱི་གཟུགས་བརྙན་ནང་ལུ་གཞི་བསྒྱུར་འབད་ནི་ཨིན་ན་མེན་ན།" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "འཕྲིན་དོན་ཚུ་འབྱོར་བའི་སྐབས་ སྒྲ་སྐད་གཏང་ནི་ཨིན་ན་མེན་ན།" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "ཕྱི་ཁར་ཨིན་པའི་སྐབས་ སྒྲ་སྐད་ཚུ་གཏང་ནི་ཨིན་ན་མེན་ན།" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "ཁོམ་མེད་པའི་སྐབས་ སྒྲ་སྐད་གཏང་ནི་ཨིན་ན་མེན་ན།" + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "འབྲེལ་བ་འཐབ་ས་ཅིག་འཐོབ་ཚུགསཔ་འགྱོཝ་ད་ པོཔ་ཨཔ་ཅིག་སྟོན་ནི་ཨིན་ན་མེན་ན།" + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"འབྲེལ་བ་འཐབ་སའི་ཐོ་ཡིག་དང་ཁ་སླབ་སྒོ་སྒྲིག་ཚུ་ནང་གི་ འབྲེལ་བ་འཐབ་ས་ཚུ་གི་དོན་ལུ་ ཨེ་ཝ་ཊར་ཚུ་སྟོན་ནི་" +"ཨིན་ན་མེན་ན།" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "འབྲེལ་བ་འཐབ་སའི་ཐོ་ཡིག་ནང་ལུ་ གློག་ལམ་མེད་པའི་འབྲེལ་བ་འཐབ་ས་ཚུ་ སྟོན་ནི་ཨིན་ན་མེན་ན།" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"མགོ་མིང་ཕྲ་རིང་ནང་ལུ་ 'x' ཨེབ་རྟ་དང་གཅིག་ཁར་ སྒོ་སྒྲིག་གཙོ་བོ་འདི་གི་ཁ་བསྡམ་ཐངས་ཀྱི་སྐོར་ལས་ འཕྲིན་" +"དོན་ཌའི་ལོག་འདི་ སྟོན་ནི་ཨིན་ན་མེན་ན།" + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "སྲབ་ཆུང་ཐབས་ལམ་ནང་འབྲེལ་བ་འཐབ་སའི་ཐོ་ཡིག་འདི་སྟོན་ནི་ཨིན་ན་མེན་ན།" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "ཁ་སླབ་ཁང་མིག་ཚུ་གི་དོན་ལུ་ བརྗོད་དོན་འདི་ལག་ལེན་འཐབ་ནི་ཨིན་ན་མེན།" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "གློག་ལམ་མེད་པ་" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "འཐོབ་ཚུགསཔ་" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "ཁོམ་མེདཔ་" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "ཕྱི་ཁར་" + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "རྩིས་ཐོ་ཚུ་སྟོན་ཞིནམ་ལས་ཟུན་དག་འབད་" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "སྡེ་ཚན་" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "འབྲེལ་ས་" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "འབྲེལ་སའི་ཐོ་ཡིག་-གོསིཔ།" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "སྐབས་དོན་" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "དགའ་མི་ཚུ་མཐུད་(_F)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "གསརཔ་མཐུད་(_N)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "དགའ་མི་ཚུ་འཛིན་སྐྱོང་འཐབ་" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "གློག་ལམ་མེད་པའི་འབྲེལ་ས་ཚུ་སྟོན་(_O)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "སྐོར་ལས་(_A)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "རྩིས་ཐོ་ཚུ་(_A)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "འབྲེལ་ས་ཁ་སྐོང་རྐྱབས་(_A)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "ཁ་སླབ་(_C)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "ནང་དོན་ཚུ་(_C)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "ཞུན་དག་(_E)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "གྲོགས་རམ་(_H)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "འཕྲིན་དོན་གསརཔ་(_N)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "རང་དོན་བརྡ་དོན་(_P)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "དགའ་གདམ་ཚུ་(_P)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "སྤང་(_Q)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "ཁང་མིག་(_R)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "ཧེ་མའི་གྲོས་གླེང་ཚུ་སྟོན་(_V)" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "གནས་ཚད་" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "འབྲེལ་སའི་ཐོ་ཡིག་སྟོན་(_S)" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"གོ་སིཔ་འདི་རང་དབང་མཉེན་ཆས་ཅིག་ཨིན་ ཁྱོད་ཀྱིས་འདི་ལོག་བགོ་བཀྲམ་འབད་ཚུགས་ དེ་ལས་/ཡང་ན་ འདི་ རང་" +"དབང་མཉེན་ཆས་གཞི་ཚོགས་གིས་ དཔེ་བསྐྲུན་འབད་དོ་བཟུམ་སྦེ་ ཇི་ཨེན་ཡུ་ ཡོངས་ཁྱབ་མི་མང་ཆོག་ཐམ་འདི་གི་ ཐ་" +"སྙད་འོག་ལུ་ལེགས་བཅོས་འབད་ཚུགས་ ཡང་ཅིན་ཆོག་ཐམ་འདི་གི་ཐོན་རིམ་ ༢ ཡང་ན་ (ཁྱོད་རའི་གདམ་ཁ་" +"ཐོག་) ཤུལ་ལས་ཀྱི་ཐོན་རིམ་ག་འབད་རུང་།" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"གོ་སིཔ་འདི་ ཕན་ཐོག་ཅན་ཅིག་གི་རེ་བ་ལུ་དམིགས་ཏེ་ བགོ་བཀྲམ་འབད་འབདཝ་ཨིན་ དེ་འབདཝ་ད་ ཉེན་ལེན་ག་ནི་" +"ཡང་མེད་པར་ ཡང་ན་ཚོང་འབྲེལ་ཡང་ན་དམིགས་བསལ་དགོས་དོན་ཅིག་གི་དོན་ལུ་ཚུད་སྒྲིག་གི་ བསྟར་སྤྱོད་འབད་འབད་" +"བའི་ཉེན་ལེན་ག་ནི་ཡང་མེད་པར། རྒྱས་བཤད་ཧེང་བཀལ་གྱི་དོན་ལུ་ ཇི་ཨེན་ཡུ་ཡོངས་ཁྱབ་མི་མང་ཆོག་ཐམ་བལྟ།" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"ཁྱོད་ཀྱིས་གོ་སིཔ་དང་གཅིག་ཁར་ ཇི་ཨེན་ཡུ་ཡོངས་ཁྱབ་མི་མང་ཆོག་ཐམ་འདི་གི་ འདྲ་བཤུས་ཅིག་འཐོབ་འཐོབ་འོང་ མ་" +"འཐོབ་པ་ཅིན་ རང་དབང་བར་སྟོང་མཉེན་ཆས་འདི་ལུ་འབྲི་ Inc. ༥༡ ཕི་རེངཀ་ལིན་ ཨིསི་ཊིརིཊི་ ཐོག་ཚད་ལྔ་" +"པ་ བོསི་ཊོན་ ཨེམ་ཨེ་ ༠༢༡༡༠-༡༣༠༡༥༩ ཡུ་ཨེསི་ཨེ་" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "ཇི་ནོམ་གི་དོན་ལུ་ འཕྲལ་མྱུར་འཕྲིན་གཏོང་ཞབས་ཏོག་སྤྱོད་མི་" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"ཨའི་ཌི་ཨར་སི་གི་མ་དངུལ་རྒྱབ་སྐྱོར་ཐོག་ལས་་བརྡ་དོན་འཕྲུལ་རིག་ལས་ཁུངས་ནང་ སྐད་བསྒྱུར་འབད་ཡི། ཁ་གསལ་གྱི་" +"དོན་ལུ་ འབྲེལ་བ་འཐབ་ས་: <pema_geyleg@druknet.bt>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "འཐོབ་ཚུགསཔ་" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "<b>རྩིས་ཐོ་གཅིག་ཡང་སེལ་འཐུ་མ་འབད་བས་</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"རྩིས་ཐོ་གསརཔ་ཅིག་ཁ་སྐོང་རྐྱབས་ནིའི་དོན་ལས་ ཁྱོད་ཀྱིས་ 'ཁ་སྐོང་' ཨེབ་གཏང་འབད་བཏུབ་ དེ་ལས་ ཁྱོད་ཀྱི་དོན་" +"ལུ་ ཐོ་བཀོད་གསརཔ་ཅིག་ རིམ་སྲིག་འགོ་བཙུགས་ནིའི་དོན་ལས་ གསར་བསྐྲུན་འབད་འོང་།\n" +"\n" +"ཁྱོད་ཀྱིས་རྩིས་ཐོ་ཅིག་ཁ་སྐོང་མི་རྐྱབས་ནི་ཨིན་པ་ཅིན་ གཡོན་ཁ་ཐུག་ལུ་ ཐོ་ཡིག་ནང་ ཁྱོད་ཀྱིས་རིམ་སྒྲིག་འབད་དགོ་" +"མནོ་མི་ རྩིས་ཐོ་འདི་གུ་ཨེབ་གཏང་འབད།" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "<b>རྩིས་ཐོ་གཅིག་ཡང་རིམ་སྒྲིག་མ་འབད་བས་</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" +"རྩིས་ཐོ་གསརཔ་ཅིག་ཁ་རྐྱབས་ནིའི་དཅན་ལས་ ཁྱོད་ཀྱིས་ 'ཁ་སྐོང་' ཨེབ་རྟ་འདི་གུ་ཨེབ་གཏང་འབད་བཏུབ་ དེ་ལས་ " +"ཐོ་བཀོད་གསརཔ་ཅིག་ཁྱོད་ཀྱི་དོན་ལུ་ རིམ་སྒྲིག་འགོ་བཙུགས་ནིའི་དོན་ལས་ གསར་བསྐྲུན་འབད་འོང་།" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "རྩིས་ཐོ་" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"ཁྱོད་ཀྱིས་ཁྱོད་རའི་ %s རྩིས་ཐོ་རྩ་བསྐྲད་གཏང་ནི་འབད་དེས་!\n" +"ཁྱོད་ཀྱིས་འཕྲོ་མཐུད་དེ་འབད་ནི་ངེས་ཐིག་ཨིན་ན?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"འབྲེལ་ཡོད་གྲོས་གླེང་དང་ ཁ་སླབ་ཁང་མིག་ཚུ་ ཁྱོད་ཀྱིས་འཕྲོ་མཐུད་ནི་གི་གྲོས་ཐག་བཅད་པ་ཅིན་ རྩ་བསྐད་མི་གཏང་" +"།\n" +"\n" +"ཁྱོད་ཀྱིས་ ཤུལ་ལས་ཀྱི་དུས་ཚོད་ཅིག་ལུ་ རྩིས་ཐོ་འདི་ལོག་ཁ་སྐོང་རྐྱབས་ནིའི་གྲོས་ཐག་བཅད་ནི་ཨིན་ན་ འདི་འཐོབ་" +"ཚུགསཔ་འོང་།" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>རྩིས་ཐོ་</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +msgid "<b>New Account</b>" +msgstr "<b>རྩིས་ཐོ་གསརཔ་</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +msgid "<b>Settings</b>" +msgstr "<b>སྒྲིག་སྟངས་</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "ཁྱོད་ལུ་འདི་མི་ངོམ་ངོས་འཛིན་འབད་ནི་ལུ་རྩིས་ཐོ་འདིའི་དོན་ལུ་མཐུན་མོང་མ་ཡིན་པའི་མིང་ཅིག་" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "གསར་བསྐྲུན་འབད་ནི!(_e)" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "ཨའི་མིན་ཌིའོ།" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "ཇེབ་བར།" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"རྩིས་ཐོ་གསརཔ་ཁ་སྐོང་རྐྱབས་ནིའི་དོན་ལས་ ཁྱོད་ཀྱིས་ 'ཁ་སྐོང་' ཨེབ་རྟ་འདི་གུ་ཨེབ་གཏང་འབད་བཏུབ་ དེ་ལས་ " +"ཐོ་བཀོད་གསརཔ་ཅིག་ ཁྱོད་ལུ་རིམ་སྒྲིག་འགོ་བཙུགས་ནིའི་དོན་ལུ་ གསར་བསྐྲུན་འབད་འོང་།\n" +"\n" +"ཁྱོད་ཀྱིས་རྩིས་ཐོ་ཅིག་ཁ་སྐོང་མི་རྐྱབས་ནི་ཨིན་པ་ཅིན་ གཡོན་ཁ་ཐུག་གི་ཐོ་ཡིག་འདི་ནང་ཁྱོད་ཀྱིས་རིམ་སྒྲིག་འབད་ནི་" +"ཨིན་མི་ རྩིས་ཐོ་འདི་གུ་ཨེབ་གཏང་འབད།" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "མིང་:(_N)" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "དབྱེ་བ།(_T)" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "%s:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "ཆོག་ཡིག་བརྗེད་བཞག་ནི་དང་ཐོ་བཀོད་འདི་བསལ།" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "ནང་བསྐྱོད་ཨའི་ཌི་:(_D)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "ཆོག་ཡིག་:(_w)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "ཐོན་ཁུངས་:(_u)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "གསང་བཟོ་ལག་ལེན་འཐབ་ (ཨེསི་ཨེསི་ཨེལ་) (_L)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "འདྲེན་ལམ་:(_P)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "སར་བར་:(_S)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "ཇེབ་བར་རྩིས་ཐོ་སྒྲིག་སྟངས་" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "མཐུད་ལམ་བཏོག་ཡོདཔ་" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "སི་མའི་ལི་བཙུགས་" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "མིང་ཚིག་ཡིག་སྡེབ་ཞིབ་དཔྱད་འབད་(_C)" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "མཐུད་ཡོདཔ་" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "བསལ་(_l)" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "གནད་དོན་བསྒྱུར་བཅོས་འབད་་་(_T)" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "ཁ་སླབ་" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "འབྲེལ་སའི་བརྡ་དོན་(_m)" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "བཏོག་(_t)" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "མགྲོན་བརྡ་འབད་་་(_v)" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "སི་མའི་ལི་བཙུགས་(_S)" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +msgid "Invitation _message:" +msgstr "མགྲོན་བརྡའི་འཕྲིན་དོན་:(_m)" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "མགྲོན་བརྡ་འབད་" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "མཆོང་ལྡེ་གཡོན་ཁ་ཐུག་བཤུད་(_L)" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "མཇོང་ལྡེ་གཡས་ཁ་ཐུག་བཤུད་(_R)" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "ཁྱོད་ཀྱིས་ག་མགྲོན་བརྡ་འབད་ནི་ཨིན་སེལ་འཐུ་འབད་:" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "ཁྱོད་ལུ་ཁ་སླབ་ཞལ་འཛོམས་ཅིག་གི་གྲངསསུ་འཛུལ་ནི་གི་མགྲོན་བརྡ་འབད་ཡོད།" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "དགའ་མི་ལུ་ཁ་སྐོང་རྐྱབས་(_A)" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "ཁ་བསྡམ་(_C)" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "གྲོས་གླེང་(_C)" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "འདྲ་བཤུས་(_C)" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "མཆོང་ལྡེ་ཁ་འཕྱལ་(_D)" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "ཤུལ་མའི་མཆོང་ལྡེ་(_N)" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "སྦྱར་(_P)" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "ཧེ་མའི་མཆོང་ལྡེ་(_P)" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "འབྲེལ་ས་སྟོན་(_S)" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "མཆོང་ལྡེ་ཚུ་(_T)" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "འབྲེལ་ལམ་ཁ་བྱང་འདྲ་བཤུས་རྐྱབས་(_C)" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "འབྲེལ་ལམ་ཁ་ཕྱེ་(_O)" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "འཕྲིན་དོན་གསརཔ།" +msgstr[1] "འཕྲིན་དོན་གསརཔ་ཚུ།" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "ཁ་སླབ་ ཁང་མིག་" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "གྲོས་གླེང་" +msgstr[1] "གྲོས་གླེང་ཚུ་(%d)" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "འཕྲིན་དོན་ཅིག་ཡིག་དཔར་རྐྱབས་དོ།" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "འབྲེལ་ས་(_C)" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "སྡེ་ཚན་(_G)" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "འབྲེལ་ས་དང་གཅིག་ཁར་ཁ་སླབ་" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "བརྡ་དོན་(_m)" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "འབྲེལ་སའི་བརྡ་དོན་སྟོན་" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "བསྐྱར་མིང་བཏགས་(_n)" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "བསྐྱར་མིང་བཏགས་" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "འ་ནི་འབྲེལ་ས་འདི་གི་དོན་ལུ་ སྡེ་ཚན་དང་མིང་འདི་ཞུན་དག་འབད་" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "རྩ་བསྐྲད་གཏང་(_R)" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "འབྲེལ་ས་རྩ་བསྐྲད་གཏང་" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "ཁ་སླབ་ཁང་མིག་ལུ་མགྲོན་བརྡ་འབད་(_I)" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "ད་ལྟོ་ཁ་ཕྱེ་ཡོད་པའི་ཁ་སླབ་ཁང་མིག་ནང་ མགྲོན་བརྡ་འབད་" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "ཡིག་སྣོད་གཏང་(_S)" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "ཡིག་སྣོད་ཅིག་གཏང་" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "འ་ནི་འབྲེལ་ས་དང་གཅིག་ ཧེ་མའི་གྲོས་གླེང་ཚུ་སྟོན་" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "སྐད་ཡིག་" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>འབྱུང་སྣང་</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>རྣར་ཉན་</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>སྤྱོད་ལམ་</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>གནས་ཚད་</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>སྐད་ཡིག་ཚུ་</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>གདམ་ཁ་ཚུ་</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>མཐོང་བའི་</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>སྐད་ཡིག་ཚུ་གི་ཐོ་ཡིག་གིས་ ཁྱོད་ལུ་ཚིག་མཛོད་གཞི་བཙུགས་འབད་ཡོད་མི་གི་དོན་ལུ་ སྐད་ཡིག་ཚུ་རྐྱངམ་" +"ཅིག་ བརྡ་མཚོནམ་ཨིན།</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" +"ཨེ་ཝ་ཊར་ཚུ་ ལག་ལེན་པ་གིས་གདམ་ཁ་རྐྱབས་ཡོད་པའི་ གཟུགས་བརྙན་ འབྲེལ་སའི་ཐོ་ཡིག་འདི་ནང་སྟོན་ཡོད་མི་འདི་" +"ཨིན་" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "ཁ་སླབ་བརྗོད་དོན་:(_e)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "འབྲེལ་ས་འདི་གློག་ལམ་ཐོག་འོང་པའི་སྐབས་ བརྡ་བསྐུལ་བཀྲམ་སྟོན་འབད་ (_o)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "ཕྱི་ཁར་ཨིན་པའི་སྐབས་སྒྲ་སྐད་ལྕོགས་ཅན་བཟོ་(_a)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "ཁོམ་མེད་པའི་སྐབས་སྒྲ་སྐད་ལྕོགས་ཅན་བཟོ་(_b)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "ཡོངས་ཁྱབ་" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "བརྡ་བསྐུལ་ཚུ་" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "དགའ་གདམ་ཚུ་" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "ཨེ་ཝ་ཊར་ཚུ་སྟོན་(_a)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "སི་མའི་ལི་ཚུ་ གཟུགས་བརྙན་སྦེ་སྟོན་(_s)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "སྲབ་ཆུང་འབྲེལ་སའི་ཐོ་ཡིག་སྟོན་(_m)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "སྡེབ་དཔྱད་འབད་དོ་" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "བརྗོད་དོན་ཚུ་" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "སྡེབ་དཔྱད་འབད་ནི་ལྕོགས་ཅན་བཟོ་(_E)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "ཁ་སླབ་གསརཔ་ཚུ་ སྒོ་སྒྲིག་སོ་སོ་ནང་ཁ་ཕྱེ་(_O)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "འཕྲིན་དོན་འབྱོར་བའི་སྐབས་ སྒྲ་སྐད་གཏང་(_P)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "ཁ་སླབ་ཁང་མིག་ཚུ་གི་དོན་ལུ་ལག་ལེན་(_U)" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "སྲོལ་སྒྲིག་འཕྲིན་དོན་" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "ཐོ་ཡིག་བསལ་" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "ཁྱོད་ཀྱིས་འ་ནི་ཐོ་ཡིག་འདི་བསལ་ནི་ངེས་གཏན་ཨིན་ན?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"འ་ནི་འདི་གིས་ ཁྱོད་ཀྱིས་ སྔར་སྒྲིག་གནས་ཚད་འཕྲིན་དོན་ཚུ་གི་ཐོ་ཡིག་འདི་ལུ་ ཁ་སྐོང་རྐྱབས་ཡོད་མི་ སྲོལ་སྒྲིག་" +"འཕྲིན་ག་ཅི་འབད་རུང་རྩ་བསྐྲད་གཏང་འོང་།" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "ཐོ་ཡིག་བསལ་" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "གནས་ཚད་འཕྲིན་དོན་ཐོ་བཀོདའབད་:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "གནས་ཚད་འཕྲིན་དོན་སྔར་སྒྲིག་འབདཝ་ཨིན་" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "གནས་ཚད་འཕྲིན་དོན་ཐོ་ཡིག་ལུ་ཁ་སྐོང་རྐྱབས་(_A)" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s འདི་གློག་ལམ་མེད་པར་ཡར་སོང་ནུག" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s འདི་གློག་ལམ་ཐོག་ལུ་འོང་ཡོད་" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "སྔོན་སྲོལ་" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "འཇམ་སམ་" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "གཙང་དག་བཟོ་" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "ཧོནམ་" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "འགོ་བཙུགས་ལུ་མ་མཐུད་" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- གོ་སིཔ་འཕྲལ་མྱུར་འཕྲིན་བསྐྱེལ་པ་" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "གོ་སིཔ་འཕྲལ་མྱུར་འཕྲིན་བསྐྱེལ་པ་" + +#~ msgid "Normal" +#~ msgstr "སྤྱིར་བཏང་" + +#~ msgid "Joining" +#~ msgstr "མཐུད་དོ་" + +#~ msgid "Active" +#~ msgstr "ཤུགས་ལྡན་" + +#~ msgid "Inactive" +#~ msgstr "ཤུགས་མེད་" + +#~ msgid "Unknown" +#~ msgstr "མ་ཤེསཔ་" + +#~ msgid "Error" +#~ msgstr "འཛོལ་བ་" + +#~ msgid "Moderator" +#~ msgid_plural "Moderators" +#~ msgstr[0] "མཐུན་སྒྲིག་འབད་མི་" +#~ msgstr[1] "མཐུན་སྒྲིག་འབད་མི་ཚུ་" + +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "བཅའ་མར་གཏོགས་མི་" +#~ msgstr[1] "བཅའ་མར་གཏོགས་མི་ཚུ་" + +#~ msgid "Visitor" +#~ msgid_plural "Visitors" +#~ msgstr[0] "ལྟ་སྐོར་པ་" +#~ msgstr[1] "ལྟ་སྐོར་པ་ཚུ་" + +#~ msgid "No role" +#~ msgstr "ལས་འགན་མེད་" + +#~ msgid "Owner" +#~ msgid_plural "Owners" +#~ msgstr[0] "བདག་པོ་" +#~ msgstr[1] "བདག་པོ་ཚུ་" + +#~ msgid "Administrator" +#~ msgid_plural "Administrators" +#~ msgstr[0] "བདག་སྐྱོང་པ་" +#~ msgstr[1] "བདག་སྐྱོང་པ་ཚུ་" + +#~ msgid "Member" +#~ msgid_plural "Members" +#~ msgstr[0] "འཐུས་མི་" +#~ msgstr[1] "འཐུས་མི་ཚུ་" + +#~ msgid "Outcast" +#~ msgid_plural "Outcasts" +#~ msgstr[0] "ཕྱིར་བཏོན་བཞག་མི་" +#~ msgstr[1] "ཕྱིར་བཏོན་བཞག་མི་ཚུ་" + +#~ msgid "No affiliation" +#~ msgstr "འབྲེལ་གཏོགས་མེད་" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "ཁྱོད་ཀྱིས་གདམ་ཁ་རྐྱབས་མི་ སྐྱོན་མིང་འདི་ཧེ་མ་ལས་རང་ལག་ལེན་འཐབ་སྟེ་ཡོདཔ་ཨིན།" + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "ཁྱོད་ཀྱིས་མཐུད་ནི་འབད་རྩོལ་བསྐྱེད་མི་ཁ་སླབ་ཁང་མིག་འདི་ལུ་ ཆོག་ཡིག་ཅིག་དགོཔ་ཨིན།" + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "ཐག་རིང་གི་ཞལ་འཛོམས་སར་བར་འདི་གིས་ དྲན་ཤེས་ལྡན་པའི་དུས་ཚོད་ལུ་ལན་བཀོད་མ་འབད།" + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "ཁྱོད་ཀྱིས་མཐུད་ནི་གི་འབད་རྩོལ་བསྐྱེད་མི་ཞལ་འཛོམས་སར་བར་འདི་ འཚོལ་མ་འཐོབ།" + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "མ་ཤེས་པའི་འཛོལ་བ་ཅིག་འབྱུང་ཡོད་ ཁྱོད་ཀྱི་རྒྱས་བཤད་ཚུ་ངེས་བདེན་ཨིནམ་ཞིབ་དཔྱད་འབད།" + +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "ཁ་སླབ་ཁང་མིག་མཐུད་ནི་འདི་ཆ་མེད་གཏང་ཡོད།" + +#~ msgid "Unavailable" +#~ msgstr "འཐོབ་ཚུགསཔ་མེདཔ་" + +#~ msgid "An unknown error occurred." +#~ msgstr "མ་ཤེས་པའི་འཛོལ་བ་ཅིག་འབྱུང་ཡོདཔ།" + +#~ msgid "Connection refused." +#~ msgstr "མཐུད་ལམ་ངོས་ལེན་མ་འབད་བས།" + +#~ msgid "Server address could not be resolved." +#~ msgstr "སར་བར་ཁ་བྱང་འདི་ མོས་མཐུན་འབད་མ་ཚུགས།" + +#~ msgid "Connection timed out." +#~ msgstr "མཐུད་ལམ་ངལ་མཚམས་ལུས་ཡོདཔ།" + +#~ msgid "Authentication failed." +#~ msgstr "བདེན་བཤད་འཐུས་ཤོར་འབྱུང་ཡོདཔ།" + +#~ msgid "The username you are trying already exists." +#~ msgstr "ལག་ལེན་པའི་མིང་ ཁྱོད་ཀྱིས་འབད་རྩོལ་བསྐྱེད་མི་འདི་ ཧེ་མ་ལས་རང་ཡོདཔ་ཨིན།" + +#~ msgid "The username you are trying is not valid." +#~ msgstr "ལག་ལེན་པའི་མིང་ ཁྱོད་ཀྱིས་འབད་རྩོལ་བསྐྱེད་མི་འདི་ ནུས་ལྡན་མེན།" + +#~ msgid "This feature is unavailable." +#~ msgstr "ཁྱད་རྣམ་འདི་འཐོབ་མི་ཚུགས།" + +#~ msgid "This feature is unauthorized." +#~ msgstr "ཁྱད་རྣམ་འདི་དབང་སྤྲོད་མ་འབད་བས།" + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "རེ་བ་མ་བསྐྱེད་པའི་ དམིགས་བསལ་གྱི་གནད་སྤེལ་ལམ་ལུགས་འཛོལ་བ་ཅིག་འབྱུང་ཡོད།" + +#~ msgid "new account" +#~ msgstr "རྩིས་ཐོ་གསརཔ་" + +#~ msgid "Home" +#~ msgstr "ཁྱིམ་" + +#~ msgid "Couldn't send message!" +#~ msgstr "འཕྲིན་དོན་གཏང་མ་ཚུགས་!" + +#~ msgid "Connection could not be opened" +#~ msgstr "མཐུད་ལམ་འདི་ཁ་ཕྱེ་མ་ཚུགས་" + +#~ msgid "Service has gone and is no longer available" +#~ msgstr "ཞབས་ཏོག་འདི་ཡར་སོངམ་དང་ད་ཐོབ་མ་ཚུགསཔ་མེདཔ།" + +#~ msgid "Bad or malformed request to this service" +#~ msgstr "ཞབས་ཏོག་འདི་ལུ་བྱང་ཉེས་ཡང་ན་བཟོ་ཉེས་གྱུར་བའི་ཞུ་བ།" + +#~ msgid "Unauthorized request to this service" +#~ msgstr "ཞབས་ཏོག་འདི་ལུ་བདེན་དབང་མེད་པའི་ཞུ་བ།" + +#~ msgid "Payment is required for this service" +#~ msgstr "ཞབས་ཏོག་གི་དོན་ལུ་གླ་དངུལ་འདི་དགོས་མཁོ་ཡོདཔ།" + +#~ msgid "This service is forbidden" +#~ msgstr "ཞབས་ཏོག་འདི་མ་ཆོགཔ་ཨིན།" + +#~ msgid "This service is unavailable or not found" +#~ msgstr "ཞབས་ཏོག་འདི་ཐོབ་མ་ཚུགསཔ་ཡང་ན་ཐོབ་མ་ཚུགསཔ།" + +#~ msgid "Unacceptable request sent to this services" +#~ msgstr "ཞབས་ཏོག་དེ་ཚུ་ལུ་དང་ལེན་འབད་མ་བཏུབ་པའི་ཞུ་བ་བཏང་ཡོདཔ།" + +#~ msgid "Registration is required" +#~ msgstr "ཐོ་འགོད་འབད་ནི་འདི་དགོས་མཁོ་ཡོདཔ།" + +#~ msgid "There was a conflict of interest trying to use this service" +#~ msgstr "ཐབས་འཕྲུལ་འདི་ལག་ལེན་འཐབ་ནི་ལུ་སྤྲོད་འབད་རྩོལ་བསྐྱེད་ནི་གི་མི་མཐུན་པ་ཅིག་ཡོདཔ།" + +#~ msgid "There was an internal service error" +#~ msgstr "ནང་འཁོད་ཞབས་ཏོག་འཛོལ་བ་ཅིག་ཡོདཔ།" + +#~ msgid "This feature is not implemented" +#~ msgstr "ཁྱད་རྣམ་འདི་བསྟར་སྤྱོད་འབད་མེདཔ།" + +#~ msgid "The remote service timed out" +#~ msgstr "ཐག་རིང་གི་ཞབས་ཏོག་འདི་ངལ་མཚམས་ཨིནམ།" + +#~ msgid "Using the %s backend" +#~ msgstr "རྒྱབ་མཐའ་འདི་ %s ལག་ལེན་འཐབ་དེ།" + +#~ msgid "Stop" +#~ msgstr "བཀག" + +#~ msgid "Disconnect" +#~ msgstr "མཐུད་ལམ་བཏོག་" + +#~ msgid "Connect" +#~ msgstr "མཐུད་" + +#~ msgid "Bye bye" +#~ msgstr "བཱའི་བཱའི།" + +#~ msgid "Successfully registered your new account settings." +#~ msgstr "ཁྱོད་ཀྱི་རྩིས་ཐོའི་སྒྲིག་སྟངས་ མཐར་འཁྱོལ་སྦེ་ཐོ་བཀོད་འབད་ཡོད།" + +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "ཁྱོད་ད་ ཁྱོད་རའི་རྩིས་ཐོ་གསརཔ་མཐུད་ཚུགས་དགོ" + +#~ msgid "Failed to register your new account settings." +#~ msgstr "ཁྱོད་ཀྱི་རྩིས་ཐོ་གསརཔ་གི་སྒྲིག་སྟངས་ཚུ་ཐོ་བཀོད་འབད་ནི་འཐུས་ཤོར་འབྱུང་ཡོད།" + +#~ msgid "Successfully changed your account password." +#~ msgstr "ཁྱོད་ཀྱི་རྩིས་ཐོའི་ཆོག་ཡིག་བསྒྱུར་བཅོས་འབད་ནི་མཐར་འཁྱོལ་ཡོདཔ།" + +#~ msgid "You should now be able to connect with your new password." +#~ msgstr "ཁྱོད་ད་ ཁྱོད་རའི་ཆོག་ཡིག་གསརཔ་དང་གཅིག་ཁར་མཐུད་ཚུགསཔ་དགོཔ།" + +#~ msgid "Failed to change your account password." +#~ msgstr "ཁྱོད་ཀྱི་རྩིས་ཐོའི་ཆོག་ཡིག་བསྒྱུར་བཅོས་འབད་ནི་འཐུས་ཤོར་འབྱུང་ཡོདཔ།" + +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "རྩིས་ཐོ་འདིའི་དོན་ལུ་ཆོག་ཡིག་གསརཔ་ཅིག་བཙུགས་གནང་།\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "འ་ནི་འབྲེལ་སའི་དོན་ལུ་ བརྡ་དོན་འཐོབ་ཚུགསཔ་མེད།" + +#~ msgid "Information requested, please wait..." +#~ msgstr "བརྡ་དོན་དགོས་མཁོ་ཡོདཔ་ཨིན་ བསྒུག་གནང་" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "ང་གིས་ཁྱོད་ ངེས་ཀྱི་འབྲེལ་སའི་ཐོ་ཡིག་ནང་ལུ་ཁ་སྐོང་རྐྱབས་ནི་ཨིན།" + +#~ msgid "To summarize:" +#~ msgstr "བཅུད་བསྡུ་ནིའི་དོན་ལས་:" + +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "%d འཕྲིན་དོན་གསརཔ་ཚུ་" +#~ msgstr[1] "%d འཕྲིན་དོན་གསརཔ་" + +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "%d མཁོ་མངགས་ཞུ་བ་" +#~ msgstr[1] "%d མཁོ་མངགས་ཞུ་བ་ཚུ་" + +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "%d ཡིག་སྣོད་གནས་སོར་ཞུ་བ་" +#~ msgstr[1] "%d ཡིག་སྣོད་གནས་སོར་ཞུ་བ་ཚུ་" + +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "%d སར་བར་འཕྲིན་དོན་" +#~ msgstr[1] "%d སར་བར་འཕྲིན་དོན་ཚུ་" + +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "%d འཛོལ་བ་" +#~ msgstr[1] "%d འཛོལ་བ་ཚུ་" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "ཁྱོད་ཀྱིས་སྤང་པ་ཅིན་ མ་ལྷག་པའི་བརྡ་དོན་ཚུ་ཆ་མཉམ་བརླག་སྟོར་ཞུགས་འོང་།" + +#~ msgid "Gossip is still running, it is just hidden." +#~ msgstr "གོ་སིཔ་འདི་ད་ལྟོ་ཡང་གཡོག་བཀོལ་དེས་ འདི་སྦ་བཞག་ནུག" + +#~ msgid "Click on the notification area icon to show Gossip." +#~ msgstr "གོ་སིཔ་སྟོན་ནིའི་དོན་ལས་ བརྡ་བསྐུལ་མངའ་ཁོངས་ངོས་དཔར་འདི་གུ་ཨེབ་གཏང་འབད།" + +#~ msgid "You were about to quit!" +#~ msgstr "ཁྱོད་སྤང་ནི་འབད་དེས་!" + +#~ msgid "" +#~ "Since no system or notification tray has been found, this action would " +#~ "normally quit Gossip.\n" +#~ "\n" +#~ "This is just a reminder, from now on, Gossip will quit when performing " +#~ "this action unless you uncheck the option below." +#~ msgstr "" +#~ "རིམ་ལུགས་དང་བརྡ་བསྐུལ་ཤོག་སྣོད་མ་འཐོབ་ལས་རྟེན་ འ་ནི་བྱ་བ་འདི་གིས་ སྤྱིར་བཏང་ལུ་ གོ་སིཔ་སྤང་འོང་" +#~ "།\n" +#~ "\n" +#~ "འ་ནི་འདི་དྲན་བསྐུལ་ཙམ་ཅིག་ཨིན་ ད་ལས་ཕར་ གོ་སིཔ་གིས་ ཁྱོད་ཀྱིས་འོག་གི་གདམ་ཁ་འདི་ཞིབ་དཔྱད་མ་" +#~ "འབད་ཚུན་ འ་ནི་བྱ་བ་འདི་ལཱ་འགན་གྲུབ་པའི་སྐབས་ སྤང་འོང་།" + +#~ msgid "Edit Account _Details" +#~ msgstr "རྩིས་ཐོའི་རྒྱས་བཤད་ཚུ་ཞུན་དག་འབད་(_D)" + +#~ msgid "Click to enlarge" +#~ msgstr "ཆེར་བསྐྱེད་འབད་ནིའི་དོན་ལས་ཨེབ་གཏང་འབད་" + +#~ msgid "Word" +#~ msgstr "མིང་ཚིག་" + +#~ msgid "Select who would you like to invite to room:" +#~ msgstr "ཁྱོད་ཀྱིས་ཁང་མིག་ནང་ག་མགྲོན་བརྡ་འབད་ནི་ཨིན་ན་ སེལ་འཐུ་འབད་:" + +#~ msgid "Select which room you would like to invite:" +#~ msgstr "ཁྱོད་ཀྱིས་ཁང་མིག་ག་འདི་མགྲོན་བརྡ་འབད་ནི་ཨིན་ན་ སེལའ་ཐུ་འབད་:" + +#~ msgid "New message from %s" +#~ msgstr "%s ལས་འཕྲིན་དོན་གསརཔ་" + +#~ msgid "Your invitation has been declined" +#~ msgstr "ཁྱོད་ཀྱི་མགྲོན་བརྡ་འདི་ཉམས་ཡོདཔ་" + +#~ msgid "Accept" +#~ msgstr "དང་ལེན་" + +#~ msgid "Decline" +#~ msgstr "ཁ་མི་བཟད་ནི་" + +#~ msgid "Name" +#~ msgstr "མིང་" + +#~ msgid "Room" +#~ msgstr "ཁང་མིག་" + +#~ msgid "Auto Connect" +#~ msgstr "རང་བཞིན་མཐུད་ནི་" + +#~ msgid "Information requested..." +#~ msgstr "བརྡ་དོན་ཞུ་བ་འབད་ཡོད་" + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "ཁྱོད་ཀྱིས་འ་ནི་འབྲེལ་ས་འདི་ཁྱོད་རའི་ལས་རིམ་རེའུ་མིག་ལས་ རྩ་བསྐྲད་གཏང་ནི་ཨིན་ན?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "སྡེ་ཚན་འདི་གི་དོན་ལུ་ མིང་གསརཔ་ཅིག་ཐོ་བཀོད་འབད་གནང་:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "སེལ་འཐུ་འབད་" + +#~ msgid "Unsorted" +#~ msgstr "དབྱེ་སེལ་མ་འབདཝ་" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server." +#~ msgstr "" +#~ "དོན་ལུ་ ཁྱོད་ཀྱིས་ལག་ལེན་འཐབ་ནི་ཨིན་མི་ མིང་གཞན་འདི་བལྟ་:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "ཁྱོད་ཀྱིས་འབྲེལ་སའི་བརྡ་དོན་འདི་ སར་བར་ལས་སླར་འདྲེན་འབད་ཚུགས།" + +#~ msgid "New file transfer request from %s" +#~ msgstr "%s ལས་ ཡིག་སྣོད་གསརཔ་གནས་སོར་ཞུ་བ་" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "ཡིག་སྣོད་གནས་སོར་འདི་ སྡེ་ཚོགས་གཉིས་ཆ་རང་གིས་རྒྱབ་སྐྱོར་མ་འབད་བས།" + +#~ msgid "Your file transfer offer declined." +#~ msgstr "ཁྱོད་ཀྱི་ཡིག་སྣོད་གནས་སོར་བྱིན་མི་འདི་ཉམས་ཡོདཔ་" + +#~ msgid "The other user decided not to continue." +#~ msgstr "གཞན་མི་ལག་ལེན་པ་འདི་གིས་ འཕྲོ་མི་མཐུད་ནིའི་གྲོས་ཐག་བཅད་ནུག" + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "ཡིག་སྣོད་གནས་སོར་སྐབས་ མ་ཤེས་པའི་འཛོལ་བ་ཅིག་འབྱུང་ཡོད།" + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s གིས་ཁྱོད་ལུ་ཡིག་སྣོད་ཅིག་གཏང་ནི་ཨིན་པས།" + +#~ msgid "Someone would like to send you a file." +#~ msgstr "མི་ཅིག་གིས་ཁྱོད་ལུ་ཡིག་སྣོད་ཅིག་ཏང་ནི་ཨིན་པས།" + +#~ msgid "Select a file" +#~ msgstr "ཡིག་སྣོད་ཅིག་སེལ་འཐུ་འབད་" + +#~ msgid "Connecting..." +#~ msgstr "མཐུད་དོ་" + +#~ msgid "Retry connection" +#~ msgstr "མཐུད་ལམ་སླར་འབད་རྩོལ་བསྐྱེད་" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "%s འདི་ འ་ནི་ཁ་སླབ་ཞལ་འཛོམས་གི་གྲངས་སུ་འཛུལ་ནིའི་དོན་ལས་ མགྲོན་བརྡ་འབད་ཡོདཔ།" + +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s གིས་ གནད་དོན་གཞི་སྒྲིག་འབད་ཡོད་%s" + +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "" +#~ "འ་ནི་ཁང་མིག་འདི་གི་དོན་ལུ་ ཁྱོད་ཀྱིས་གཞི་སྒྲིག་འབད་དགོ་མནོ་མི་གནད་དོན་གསརཔ་འདི་ཐོ་བཀོད་འབད་:" + +#~ msgid "%s has joined the room" +#~ msgstr "%s གིས་ ཁང་མིག་ནང་འཛུལ་ཡོདཔ་" + +#~ msgid "%s has left the room" +#~ msgstr "%s གིས་ཁང་མིག་བཞག་ཡོདཔ་" + +#~ msgid "Topic: %s" +#~ msgstr "གནད་དོན། %s" + +#~ msgid "Account" +#~ msgstr "རྩིས་ཐོ་" + +#~ msgid "Conversation With" +#~ msgstr "དང་གཅིག་ཁར་གྲོས་གླེང་" + +#~ msgid "Date" +#~ msgstr "ཚེས་གྲངས་" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "གློག་རིམ་འདི་གི་སྣ་མང་འཕྲལ་མྱུར་འདི་ དུས་ཚོད་གཅིག་པ་ལུ་གཡོག་བཀོལ་བཅུག" + +#~ msgid "List the available accounts" +#~ msgstr "འཐོབ་ཚུགས་པའི་རྩིས་ཐོའི་ཐོ་ཡིག་" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "འགོ་བཙུགས་ལུ་ རྩིས་ཐོ་ག་འདི་མཐུད་ནི་ཨིན་ན་" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "རྩིས་ཐོ་-མིང་" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "ཁྱོད་ཀྱིས་ --རྩིས་ཐོ་དང་གཅིག་ཁར་ --མཐུད་ལམ་མེད་ ལག་ལེན་འཐབ་མི་བཏུབ་" + +#~ msgid "No accounts available." +#~ msgstr "རྩིས་ཐོ་གཅིག་ཡང་འཐོབ་ཚུགསཔ་མེད།" + +#~ msgid "Available accounts:" +#~ msgstr "འཐོབ་ཚུགས་པའི་རྩིས་ཐོ་:" + +#~ msgid "[default]" +#~ msgstr "[སྔོན་སྒྲིག་]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "མིང་ '%s' འབད་མི་རྩིས་ཐོ་གཅིག་ཡང་མིན་འདུག" + +#~ msgid "Join" +#~ msgstr "མཐུད་" + +#~ msgid "Create" +#~ msgstr "གསར་བསྐྲུན་འབད་" + +#~ msgid "Chat Rooms" +#~ msgstr "ཁ་སླབ་ཁང་མིག་" + +#~ msgid "Found %d conference rooms" +#~ msgstr "%d ཞལ་འཛོམས་ཁང་མིག་འཐོབ་ཡོད་" + +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "ཞལ་འཛོམས་ཁང་མིག་ཚུ་གི་དོན་ལུ་བརྡ་འཚོལ་འབད་དོ་ བསྒུག་གནང་" + +#~ msgid "Browsing cancelled!" +#~ msgstr "བརྡ་འཚོལ་འབད་ནི་ཆ་མེད་གཏང་ཡོདཔ་!" + +#~ msgid "Default" +#~ msgstr "སྔོན་སྒྲིག་" + +#~ msgid "Chat!" +#~ msgstr "ཁ་སླབ་!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s འདི་ ཁྱོད་ཀྱི་འབྲེལ་སའི་ཐོ་ཡིག་ལུ་ཁ་སྐོང་རྐྱབས་དགོ་ནི་ཨིན་པས།" + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "མི་ཅིག་ ཁྱོད་ཀྱི་འབྲེལ་སའི་ཐོ་ཡིག་ལུ་ཁ་སྐོང་རྐྱབས་དགོ་ནི་ཨིན་པས།" + +#~ msgid "Subscription request" +#~ msgstr "མཁོ་མངགས་ཞུ་བ་" + +#~ msgid "Show" +#~ msgstr "སྟོན་" + +#~ msgid "Contact Information" +#~ msgstr "འབྲེལ་སའི་བརྡ་དོན་" + +#~ msgid "Subject: %s" +#~ msgstr "དོན་ཚན་: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "མིང་ཚིག་འདི་གི་དོན་ལུ་བསམ་འཆར་" + +#~ msgid "New subscription request from %s" +#~ msgstr "%s ལས་མཁོ་མངགས་ཞུ་བ་གསརཔ་" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "ཁྱོད་ཀྱིས་འ་ནི་གང་ཟག་འདི་ ཁྱོད་རའི་འབྲེལ་སའི་ཐོ་ཡིག་ལུ་ཁ་སྐོང་རྐྱབས་ནི་ཨིན་ན?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "ཁྱོད་ཀྱིས་ %s འདི་ ཁྱོད་རའི་འབྲེལ་སའི་ཐོ་ཡིག་ལུ་ཁ་སྐོང་རྐྱབས་ནི་ཨིན་ན?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "ཁྱོད་རའི་ %s རྩིས་ཐོ་ཆོག་ཡིག་ཐོ་བཀོད་འབད་གནང་" + +#~ msgid "Logging in to account '%s'" +#~ msgstr "རྩིས་ཐོ་ལུ་ནང་ན་ལུ་བསྐྱོད་འབད་དོ། %s " + +#~ msgid "Remember Password?" +#~ msgstr "ཆོག་ཡིག་སེམས་ཁར་བཞག?" + +#~ msgid "Do not show this again" +#~ msgstr "འ་ནི་ལོག་མ་སྟོན་" + +#~ msgid "Could not display the help contents." +#~ msgstr "གྲོགས་རམ་ནང་དོན་འདི་བཀྲམ་སྟོན་འབད་མི་ཚུགས།" + +#~ msgid "Select Your Avatar Image" +#~ msgstr "ཁྱོད་རའི་ཨེ་ཝ་ཊར་གཟུགས་བརྙན་སེལ་འཐུ་འབད་" + +#~ msgid "No Image" +#~ msgstr "གཟུག་བརྙན་མེད་" + +#~ msgid "Cancel" +#~ msgstr "ཆ་མེད་གཏང་ནི།" + +#~ msgid "OK" +#~ msgstr "བཏུབ།" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "སར་བར་འདི་ལན་བཀོད་མི་འབད་དོ་བཟུམ་སྦེ་མཐོངམ་མས།" + +#~ msgid "Try again later." +#~ msgstr "ལོག་ཤུལ་ལས་འབད་རྩོལ་བསྐྱེད།" + +#~ msgid "Change" +#~ msgstr "བསྒྱུར་བཅོས།" + +#~ msgid "Contact goes offline" +#~ msgstr "འབྲེལ་ས་འདི་གློག་ལམ་མེདཔ་འགྱོཝ་ཨིན་" + +#~ msgid "Contact goes online" +#~ msgstr "འབྲེལ་ས་འདི་གློག་ལམ་ཐོག་འགྱོཝ་ཨིན་" + +#~ msgid "Contact ID:" +#~ msgstr "འབྲེལ་སའི་ཨའི་ཌི་:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "ཁྱོད་ཀྱིས་འ་ནི་ཡིག་སྣོད་འདི་དང་ལེན་འབད་ནི་ཨིན་ན?" + +#~ msgid "File Transfer Request" +#~ msgstr "ཡིག་སྣོད་གནས་སོར་ཞུ་བ་" + +#~ msgid "File name:" +#~ msgstr "ཡིག་སྣོད་མིང་:" + +#~ msgid "File size:" +#~ msgstr "ཡིག་སྣོད་ཚད་:" + +#~ msgid "Not supported yet" +#~ msgstr "ད་ཚུན་རྒྱབ་སྐྱོར་མ་འབད་བས་" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "འ་ནི་གང་ཟག་གིས་ ཁྱོད་ལུ་ འ་ནི་ཡིག་སྣོན་གཏང་ནི་གི་རེ་སྨོན་བསྐྱེདཔ་ཨིན་པས་:" + +#~ msgid "Web site:" +#~ msgstr "ཝེབ་ས་ཁོངས་:" + +#~ msgid "_Accept" +#~ msgstr "དང་ལེན་(_A)" + +#~ msgid "_Deny" +#~ msgstr "ཉན་མི་བཏུབ་པས་(_D)" + +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>གནད་དོན་:</b>" + +#~ msgid "Account:" +#~ msgstr "རྩིས་ཐོ་:" + +#~ msgid "Browse:" +#~ msgstr "བརྡོ་འཚོལ་:" + +#~ msgid "Edit Favorite Room" +#~ msgstr "དགའ་མི་ཁང་མིག་ཞུན་དག་འབད་" + +#~ msgid "" +#~ "Enter the room name to join here or click on one or more rooms in the " +#~ "list." +#~ msgstr "" +#~ "ན་ལུ་འཛུལ་ནིའི་དོན་ལས་ ཁང་མིག་མིང་འདི་ཐོ་བཀོད་འབད་ ཡང་ན་ ཐོ་ཡིག་ནང་གི་ཁང་མིག་གཅིག་ཡང་ན་དེ་" +#~ "ལས་ལྷག་སྟེ་ཨེབ་གཏང་འབད།" + +#~ msgid "Group Chat" +#~ msgstr "སྡེ་ཚན་ཁ་སླབ་" + +#~ msgid "Join New" +#~ msgstr "གསརཔ་མཐུད་" + +#~ msgid "Join room on start_up" +#~ msgstr "འགོ་བཙུགས་ལུ་ཁང་མིག་མཐུད་(_u)" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "" +#~ "གོ་སིཔ་འདི་འགོ་བཙུགས་ནི་དང་ ཁྱོད་མཐུད་ཡོད་པའི་སྐབས་ འ་ནི་ཁ་སླབ་ཁང་མིག་འདི་གི་གྲངས་སུ་འཛུལ་" + +#~ msgid "Manage Favorite Rooms" +#~ msgstr "དགའ་མི་ཁང་མིག་ཚུ་འཛིན་སྐྱོང་འཐབ་" + +#~ msgid "N_ame:" +#~ msgstr "མིང་:(_a)" + +#~ msgid "Re_fresh" +#~ msgstr "ཡང་སེལ་འབད་(_f)" + +#~ msgid "S_erver:" +#~ msgstr "སར་བར་:(_e)" + +#~ msgid "" +#~ "This list represents all chat rooms hosted on the server you have entered." +#~ msgstr "" +#~ "འ་ནི་ཐོ་ཡིག་འདི་གིས་ ཁྱོད་ཀྱིས་ཐོ་བཀོད་ཐོ་བཀོད་འབད་ཡོད་མི་ སར་བར་འདི་གུ་ ཧོསིཊི་འབད་ཡོད་མི་ ཁ་" +#~ "སླབ་ཁང་མིག་ཆ་མཉམ་ ཁྱད་ཚབ་འབདཝ་ཨིན།" + +#~ msgid "_Nickname:" +#~ msgstr "སྐྱོན་མིང་:(_N)" + +#~ msgid "_Room:" +#~ msgstr "ཁང་མིག་:(_R)" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>སྐོར་ལས་</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>ཞབས་ཐོག་སྤྱོད་མིའི་བརྡ་དོན་</b>" + +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>སྡེ་ཚན་ཚུ་</b>" + +#~ msgid "<b>Name</b>" +#~ msgstr "<b>མིང་</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>རང་དོན་རྒྱས་བཤད་ཚུ་</b>" + +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>མཁོ་མངགས་</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "" +#~ "<འཕར་ཚད་ལྗིད་ཚད་=\"smaller\">དཔེར་བརྗོད་: མའི་ཀེལ་ ཡང་ན་ user@server.org</span>" + +#~ msgid "Accou_nt:" +#~ msgstr "རྩིས་ཐོ་:(_n)" + +#~ msgid "Add Contact" +#~ msgstr "འབྲེལ་ས་ཁ་སྐོང་རྐྱབས།" + +#~ msgid "Alia_s:" +#~ msgstr "མིང་གཞན་:(_s)" + +#~ msgid "Avatar:" +#~ msgstr "ཨེ་ཝ་ཏར་:" + +#~ msgid "Birthday:" +#~ msgstr "སྐྱེ་བའི་ཞིནམ་:" + +#~ msgid "C_hange" +#~ msgstr "བསྒྱུར་བཅོས།(_h)" + +#~ msgid "Ch_at" +#~ msgstr "ཁ་སླབ་(_a)" + +#~ msgid "Client:" +#~ msgstr "ཞབས་ཏོག་སྤྱོད་མི་:" + +#~ msgid "Con_tact:" +#~ msgstr "འབྲེལ་ས་:(_t)" + +#~ msgid "Connect on S_tartup" +#~ msgstr "འགོ་བཙུགས་ལུ་མཐུད་(_t)" + +#~ msgid "Contacts" +#~ msgstr "འབྲེལ་ས་ཚུ་" + +#~ msgid "Country:" +#~ msgstr "རྒྱལ་ཁབ་:" + +#~ msgid "Decide _Later" +#~ msgstr "ཤུལ་ལས་གྲོས་ཐག་བཅད་(_L)" + +#~ msgid "Edit Contact" +#~ msgstr "འབྲེལ་ས་ཞུན་དག་འབད་" + +#~ msgid "Edit Groups" +#~ msgstr "སྡེ་ཚན་ཚུ་ཞུན་དག་འབད་" + +#~ msgid "Email:" +#~ msgstr "གློག་འཕྲིན་:" + +#~ msgid "ID:" +#~ msgstr "ཨའི་ཌི་:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "ཁྱོད་ཀྱིས་ཤུལ་ལས་གྲོས་ཐག་བཅད་ནི་གདམ་ཁ་རྐྱབསཔ་ཅིན་ ཁྱོད་ཤུལ་མ་ནང་བསྐྱོད་འབདཝ་ད་འདྲི་འོང་།" + +#~ msgid "Name:" +#~ msgstr "མིང་:" + +#~ msgid "OS:" +#~ msgstr "ཨོ་ཨེསི་:" + +#~ msgid "Personal Details" +#~ msgstr "རང་དོན་རྒྱས་བཤད་ཚུ་" + +#~ msgid "R_egister" +#~ msgstr "ཐོ་འགོད་(_e)" + +#~ msgid "Search" +#~ msgstr "འཚོལ་ཞིབ་" + +#~ msgid "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." +#~ msgstr "" +#~ "ཁྱོད་ཀྱིས་འ་ནི་འབྲེལ་ས་ཚུ་འབྱུང་དགོ་མནོ་མི་ སྡེ་ཚན་འདི་ཚུ་སེལ་འཐུ་འབད་ ཁྱོད་ཀྱིས་ སྡེ་ཚན་གཅིག་ལས་" +#~ "ལྷག་སྟེ་ཡང་ན་ སྡེ་ཚན་མེད་མི་སེལ་འཐུ་འབད་བཏུབ།" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "དོན་ལུ་ ཁྱོད་ཀྱིས་ལག་ལེན་འཐབ་ནི་ཨིན་མི་ མིང་གཞན་འདིགཞི་སྒྲིག་འབད།\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "ཁྱོད་ཀྱིས་འབྲེལ་སའི་བརྡ་དོན་འདི་ སར་བར་ལས་སླར་འདྲེན་འབད་ཚུགས།" + +#~ msgid "Spell Checker" +#~ msgstr "སྡེབ་དཔྱོདཔ་" + +#~ msgid "Subscription Request" +#~ msgstr "མཁོ་མངགས་ཞུ་བ་" + +#~ msgid "Suggestions for the word:" +#~ msgstr "མིང་ཚིག་འདི་གི་དོན་ལུ་བསམ་འཆར་:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "འ་ནི་འདི་གིས་ འོག་གི་འབྲེལ་སའི་ཐོ་ཡིག་འདི་གི་དོན་ལུ་ ཚགས་མ་སྦེ་འབདཝ་ཨིན། ཁྱོད་ཀྱྀས་ འབྲེལ་སའི་མིང་" +#~ "ཡང་ན་ ཨའི་ཌི་གི་ཆ་བགོས་ཚུ་ལག་ལེན་འཐབ་ དཔེར་ན་ \"jabber.org\" གིས་ འ་ནི་སར་བར་ལག་" +#~ "ལེན་འཐབ་མི་ག་ར་ཐོ་བཀོད་འབད་འོང་" + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "" +#~ "འ་ནི་འདི་ འབྲེལ་ས་འདི་གི་དོན་ལུ་ ཁྱོད་རའི་ལས་རིམ་རེའུ་མིག་གུ་ ལག་ལེན་འཐབ་ནི་ཨིན་མི་ མིང་འདི་ཨིན་" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "འ་ནི་མིང་འདི་ ཁ་སླབ་སྒོ་སྒྲིག་ནང་ལུ་ཁྱོད་ངོས་འཛིན་འབད་ནིའི་དོན་ལས་ ལག་ལེན་འཐབ་འོང་" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "འ་ནི་མིང་འདི་ འབྲེལ་ས་གསརཔ་ཚུ་གིས་ ཁྱོད་ཀྱི་རྒྱས་བཤད་བལྟ་བའི་སྐབས་ ཁྱོད་ངོས་འཛིན་འབད་ནིའི་དོན་" +#~ "ལས་ ལག་ལེན་འཐབ་འོང་" + +#~ msgid "Use default name here from the contact's VCard." +#~ msgstr "འབྲེལ་སའི་ཝི་ཤོག་བྱང་འདི་ལས་ ནཱ་ལུ་སྔོན་སྒྲིག་མིང་ལག་ལེན་འཐབ།" + +#~ msgid "Use system pro_xy" +#~ msgstr "རིམ་ལུགས་པོརོ་སི་ལག་ལེན་འཐབ་(_x)" + +#~ msgid "Version:" +#~ msgstr "ཐོན་རིམ་:" + +#~ msgid "View Previous Conversations" +#~ msgstr "ཧེ་མའི་གྲོས་གླེང་སྟོན་" + +#~ msgid "Which account do you want to use?" +#~ msgstr "ཁྱོད་ཀྱིས་རྩིས་ཐོ་ག་འདི་ལག་ལེན་འཐབ་ནི་ཨིན་སྨོ?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "ཁྱོད་འ་ནི་འབྲེལ་ས་ལུ་མཁོ་མངགས་མ་འབད་བས།" + +#~ msgid "_Birthday:" +#~ msgstr "སྐྱེ་བའི་ཉིནམ་:(_B)" + +#~ msgid "_Connect" +#~ msgstr "མཐུད་(_C)" + +#~ msgid "_Description:" +#~ msgstr "འགྲེལ་བཤད་:(_D)" + +#~ msgid "_Disconnect" +#~ msgstr "མཐུད་ལམ་བཏོག་(_D)" + +#~ msgid "_Email:" +#~ msgstr "གློག་འཕྲིན་:(_E)" + +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "ཁྱོད་ཀྱིས་འོག་ལུ་ ཁ་སླབ་ནི་ཨིན་མི་གང་ཟག་འདི་གི་ མིང་ཡང་ན་འབྲེལ་སའི་ཨའི་ཌི་འདི་ཐོ་བཀོད་འབད་:(_E)" + +#~ msgid "_For:" +#~ msgstr "དོན་ལུ་:(_F)" + +#~ msgid "_Full Name:" +#~ msgstr "མིང་གངམ་(_F)" + +#~ msgid "_Group:" +#~ msgstr "སྡེ་ཚན་:(_G)" + +#~ msgid "_Nick Name:" +#~ msgstr "སྐྱོན་མིང་(_N)" + +#~ msgid "_Password:" +#~ msgstr "ཆོག་ཡིག་:(_P)" + +#~ msgid "_Quit Message:" +#~ msgstr "འཕྲིན་དོན་སྤང།(_Q)" + +#~ msgid "_Retrieve" +#~ msgstr "སླར་འདྲེན་(_R)" + +#~ msgid "_Subscribe" +#~ msgstr "མཁོ་མངགས་འབད་ནི་(_S)" + +#~ msgid "_Web site:" +#~ msgstr "ཝེབ་ས་ཁོངས་:(_W)" + +#~ msgid "irc account settings" +#~ msgstr "ཨའི་ཨར་སི་་རྩིས་ཐོ་སྒྲིག་སྟངས་ཚུ།" + +#~ msgid "msn account settings" +#~ msgstr "ཨེམ་ཨེསི་ཨེན་རྩིས་ཐོ་སྒྲིག་སྟངས་ཚུ།" + +#~ msgid "Gossip" +#~ msgstr "གོ་སིཔ་" + +#~ msgid "Martyn Russell" +#~ msgstr "མར་ཊིན་ རཱས་སེལ་" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "དོན་ལུ་ཁྱོད་ཀྱིས་ལག་ལེན་འཐབ་ནི་ཨིན་མི་ མིང་གཞན་འདི་གཞི་སྒྲིག་འབད་:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "ཁྱོད་ཀྱིས་ འབྲེལ་སའི་བརྡ་དོན་འདི་ སར་བར་ལས་སླར་འདྲེན་འབད་ཚུགས།" + +#~ msgid "_Forget" +#~ msgstr "བརྗེད་ནི་(_F)" diff --git a/trunk/po/el.po b/trunk/po/el.po new file mode 100644 index 000000000..f5861aef6 --- /dev/null +++ b/trunk/po/el.po @@ -0,0 +1,1742 @@ +# translation of el.po to Greek +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Dimitris Glezos <dimitris@glezos.com>, 2006. +# Christos Trochalakis <yatiohi@ideopolis.gr>, 2006. +msgid "" +msgstr "" +"Project-Id-Version: el\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-11-30 20:16+0000\n" +"Last-Translator: Dimitris Glezos <dimitris@glezos.com>\n" +"Language-Team: Greek <team@gnome.gr>\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: KBabel 1.11.4\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Instant Messenger" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Instant Messenger" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Να γίνεται πάντα άνοιγμα νέων συζητήσεων σε ξεχωριστό παράθυρο." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Θέμα εμφάνισης παραθύρου συζήτησης" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Λίστα γλωσσών για ορθογραφικό έλεγχο χωρισμένες με κόμματα (πχ. en, el, fr). " + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "Συμπυκνωμένη λίστα επαφών" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Προεπιλεγμένος κατάλογος για επιλογή προσωπικής εικόνας" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Ενεργοποίηση αναδυόμενου παραθύρου όταν η επαφή είναι διαθέσιμη" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Ενεργοποίηση ήχων όταν απουσιάζετε" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Ενεργοποίηση ήχων όταν είστε απασχολημένος" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "Ενεργοποίηση ορθογράφου" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Απόκρυψη κυρίως παραθύρου" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Απόκρυψη του κυρίως παραθύρου." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Άνοιγμα νέων συζητήσεων σε ξεχωριστά παράθυρα" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Εμφάνιση προσωπικών εικόνων" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "Εμφάνιση υπόδειξης για κλείσιμο κυρίως παραθύρου" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Εμφάνιση επαφών εκτός σύνδεσης" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Γλώσσες υπό ορθογραφικό έλεγχο" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "Τελευταίος κατάλογος από τον οποίο επιλέχθηκε προσωπική εικόνα." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" +"Το θέμα που χρησιμοποιείται για την εμφάνιση της συζήτησης στα παράθυρα." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Χρήση γραφικών χαμόγελων" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Χρήση ήχων ειδοποίησης" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "Χρήση θέματος για τα δωμάτια συζήτησης" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" +"Κατά πόσο ή όχι να γίνεται έλεγχος σε λέξεις γλωσσών που επιλέξατε για " +"έλεγχο." + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Κατά πόσο ή όχι να μετατρέπονται τα χαμόγελα σε εικονίδια στις συζητήσεις." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Κατά πόσο ή όχι να όταν φτάνουν μηνύματα." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Κατά πόσο ή όχι να αναπαράγεται ένας ήχος σε κατάσταση απουσίας." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Κατά πόσο ή όχι να αναπαράγεται ένας ήχος σε κατάσταση απασχολημένος." + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "" +"Κατά πόσο ή όχι να εμφανίζεται αναδυόμενο παράθυρο όταν μία επαφή γίνεται " +"διαθέσιμη." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Κατά πόσο ή όχι να εμφανίζονται προσωπικές εικόνες των επαφών στην λίστα " +"επαφών και τα παράθυρα συζήτησης." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" +"Κατά πόσο ή όχι να εμφανίζονται επαφές εκτός σύνδεσης στην λίστα επαφών." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"Κατά πόσο ή όχι να εμφανίζεται επιβεβαίωση για κλείσιμο του κυρίως παραθύρου " +"πατώντας το κουμπί 'x' στην γραμμή τίτλου." + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "Κατά πόσο η λίστα επαφών να εμφανίζεται σε συμπυκνωμένη μορφή ή όχι." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "Κατά πόσο να χρησιμοποιείται το θέμα για δωμάτια συζήτησης ή όχι." + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Εκτός σύνδεσης" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Διαθέσιμος" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Απασχολημένος" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Απών" + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "Εμφάνιση και επεξεργασία λογαριασμών" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Ομάδα" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "Επαφή" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "Εμφάνιση _λίστας επαφών" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "Περιεχόμενο" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "Σύνδεση στα α_γαπημένα" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Σύνδεση σε _νέο..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "Διαχείριση αγαπημένων..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Εμφάνιση επαφών ε_κτός σύνδεσης" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "Πε_ρί" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Λογαριασμοί" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "Πρόσ_θεση επαφής..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Συζήτηση" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Περιεχόμενα" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "_Επεξεργασία" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "_Βοήθεια" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Νέο Μήνυμα..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "Π_ροσωπικές πληροφορίες" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Προτιμήσεις" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "Έ_ξοδος" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Δωμάτιο" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "Π_ροηγούμενες συζητήσεις" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Κατάσταση" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "Εμφάνιση _λίστας επαφών" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Το Gossip είναι ελεύθερο λογισμικό: Μπορείτε να το διανείμετε εκ νέου και/ή " +"να το τροποποιήσετε κάτω από τους όρους της GNU Γενικής Δημόσιας Άδειας " +"Χρήσης (GPL) όπως είναι δημοσιευμένη από το Free Software Foundation: είτε " +"με την έκδοση 2 της Άδειας, είτε (κατά την επιλογή σας) με οποιαδήποτε " +"νεότερη έκδοση." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Το Gossip διανέμεται με την ελπίδα ότι θα είναι χρήσιμο, αλλά χωρίς καμία " +"εγγύηση: ούτε καν της υπονοούμενης εγγύησης εμπορικότητας και καταλληλότητας " +"για ένα συγκεκριμένο σκοπό. Ανατρέξτε στη GNU Γενική Δημόσια Άδεια Χρήσης " +"(GPL) για περισσότερες πληροφορίες." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"Θα πρέπει να έχετε λάβει ένα αντίγραφο της GNU Γενικής Δημόσιας Άδειας " +"Χρήσης (GPL) μαζί με το Gossip. Αν όχι γράψτε στο Free Software Foundation, " +"Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130159 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "Ένας στιγμιαίος αποστολέας μηνυμάτων για το GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"Χρήστος Τροχαλάκης <yatiohi@ideopolis.gr>\n" +"Δημήτρης Γλέζος <dimitris@glezos.com>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Διαθέσιμος" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "<b>Δεν επιλέχθηκε λογαριασμός</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"Για να προσθέσετε ένα νέο λογαριασμό μπορείτε να κάνετε κλικ στο κουμπί " +"'Προσθήκη' και ένας νέος λογαριασμός θα δημιουργηθεί για να τον ρυθμίσετε.\n" +"\n" +"Αν δεν θέλετε να προσθέσετε λογαριασμό, απλά επιλέξτε το λογαριασμό που " +"θέλετε να ρυθμίσετε από την αριστερή στήλη." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Κανένας ρυθμισμένος Λογαριασμός</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" +"Για να προσθέσετε έναν νέο λογαριασμό μπορείτε να κάνετε κλικ στο κουμπί " +"'Προσθήκη' και ένας νέος λογαριασμός θα δημιουργηθεί για να τον ρυθμίσετε." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Λογαριασμοί" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"Ετοιμάζεστε να διαγράψετε το λογαριασμό %s!\n" +"Είστε σίγουρος πώς θέλετε να συνεχίσετε;" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Όλες οι σχετικές συζητήσεις και τα δωμάτια συζητήσεων ΔΕ θα διαγραφούν αν " +"αποφασίσετε να συνεχίσετε.\n" +"\n" +"Αν αποφασίσετε να προσθέσετε και πάλι τον λογαριασμό αργότερα, θα είναι " +"ακόμα διαθέσιμα." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Λογαριασμός</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Λογαριασμός</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +msgid "<b>Settings</b>" +msgstr "<b>Ρυθμίσεις</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Δημιουργία" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"Για να προσθέσετε ένα νέο λογαριασμό μπορείτε να επιλέξετε 'Προσθήκη' και " +"ένας νέος λογαριασμός θα δημιουργηθεί για να τον ρυθμίσετε.\n" +"\n" +"Αν δεν θέλετε να προσθέσετε λογαριασμό, απλά κάντε κλικ στον λογαριασμό που " +"θέλετε να ρυθμίσετε από την αριστερή στήλη. " + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "Ό_νομα:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Θέμα:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "%s:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "ΙD ει_σόδου:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "_Συνθηματικό:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "_Πόρος:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "Χρήση κω_δικοποίησης (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Θύρα:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Εξυπηρετητής:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "Ρυθμίσεις λογαριασμού Jabber" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Αποσυνδέθηκε" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Εισαγωγή χαμόγελου" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "Έ_λεγχος ορθογραφίας..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Συνδεδεμένος" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "Ε_κκαθάριση" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Συζήτηση" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "_Πληροφορίες επαφής" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "Απο_κοπή" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "_Πρόσκληση" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "_Εισαγωγή χαμόγελου" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Μήνυμα πρόσκλησης:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "Πρόσκληση" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Μετακίνηση καρτέλας _αριστερά" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Μετακίνηση καρτέλας _δεξιά" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "Επιλέξτε ποιόν θέλετε να καλέσετε:" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Έχετε λάβει πρόσκληση να συμμετάσχετε σε μια ομαδική συζήτηση." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "Προσθήκη στα α_γαπημένα" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "_Κλείσιμο" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Συζήτηση" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "Αντι_γραφή" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "Από_σπαση καρτέλας" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Επόμενη καρτέλα" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "_Επικόλληση" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Προηγούμενη καρτέλα" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "Εμφάνιση _επαφών" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Καρτέλες" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "Αντιγρα_φή διεύθυνσης συνδέσμου" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "Ά_νοιγμα συνδέσμου" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Νέο μήνυμα" +msgstr[1] "Νέο μήνυμα" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Δωμάτια συζήτησης" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Συζήτηση" +msgstr[1] "_Συζήτηση" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Γράφει ένα μήνυμα." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "_Επαφή" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "_Ομάδα" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "Συζητήστε με την επαφή" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "Πληροφο_ρίες" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "Προβολή πληροφοριών επαφής" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "Μετο_νομασία" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "Μετονομασία" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "Επεξεργασία ομάδων και ονόματος για αυτήν την επαφή" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Απομάκρυνση" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "Αφαίρεση επαφής" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "_Πρόσκληση στο δωμάτιο" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "Πρόσκληση σε ένα ανοιχτό δωμάτιο" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "Αποστολή α_ρχείου..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "Αποστολή αρχείου" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "Προβολή προηγούμενων συζητήσεων με την επαφή" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Γλώσσα" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Εμφάνιση</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Ήχοι</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Συμπεριφορά</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Κατάσταση</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Γλώσσες</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Επιλογές</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Εμφάνιση</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>Η λίστα γλωσσών περιέχει μόνο τις γλώσσες για τις οποίες υπάρχει " +"εγκατεστημένο λεξικό.</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "Οι προσωπικές εικόνες είναι εικόνες που εμφανίζονται στην λίστα επαφών" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "_Θέμα:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "_Ειδοποιήσεις όταν οι επαφές συνδέονται" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Ενεργοποίηση ήχων όταν α_πουσιάζετε" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Ενεργοποίηση ήχων όταν είστε απα_σχολημένος" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Γενικά" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Ειδοποιήσεις" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Προτιμήσεις" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Εμφάνιση προσωπικών _εικόνων" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Εμφάνιση γραφικών _χαμόγελων" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "Εμφάνιση συμπυκνωμένης λίστας" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Έλεγχος ορθογραφίας" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "Θέματα" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "Ενεργοποίηση ορ_θογράφου" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "Ά_νοιγμα νέων συζητήσεων σε ξεχωριστά παράθυρα" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "Ή_χος για νέα μηνύματα" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "_Χρήση για δωμ. συζήτησης" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Προσαρμοσμένο μήνυμα..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Καθαρισμός..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "Είστε σίγουροι πως θέλετε να καθαρίσετε την λίστα;" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"Αυτό θα αφαιρέσει όλα τα μηνύματα που προσθέσατε στην λίστα των " +"προκαθορισμένων μηνυμάτων κατάστασης." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Καθαρισμός" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Εισάγετε μήνυμα κατάστασης:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Προκαθορισμένα μηνύματα κατάστασης" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "Προσθήκη στη _λίστα μηνυμάτων κατάστασης" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "Ο χρήστης %s αποσυνδέθηκε" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "Ο χρήστης %s συνδέθηκε" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Κλασσικό" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Απλό" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Καθαρισμός" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Μπλε" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Χωρίς σύνδεση κατά την εκκίνηση" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Gossip Instant Messenger" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Gossip Instant Messenger" + +#~ msgid "Normal" +#~ msgstr "Κανονικό" + +#~ msgid "Joining" +#~ msgstr "Σύνδεση" + +#~ msgid "Active" +#~ msgstr "Ενεργό" + +#~ msgid "Inactive" +#~ msgstr "Ανενεργό" + +#~ msgid "Unknown" +#~ msgstr "Άγνωστο" + +#~ msgid "Error" +#~ msgstr "Σφάλμα" + +#~ msgid "Moderator" +#~ msgid_plural "Moderators" +#~ msgstr[0] "Επιμελητής" +#~ msgstr[1] "Επιμελητές" + +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "Συμμετέχων" +#~ msgstr[1] "Συμμετέχοντες" + +#~ msgid "Visitor" +#~ msgid_plural "Visitors" +#~ msgstr[0] "Επισκέπτης" +#~ msgstr[1] "Επισκέπτες" + +#~ msgid "No role" +#~ msgstr "Χωρίς ρόλο" + +#~ msgid "Owner" +#~ msgid_plural "Owners" +#~ msgstr[0] "Ιδιοκτήτης" +#~ msgstr[1] "Ιδιοκτήτες" + +#~ msgid "Administrator" +#~ msgid_plural "Administrators" +#~ msgstr[0] "Διαχειριστής" +#~ msgstr[1] "Διαχειριστές" + +#~ msgid "Member" +#~ msgid_plural "Members" +#~ msgstr[0] "Μέλος" +#~ msgstr[1] "Μέλη" + +#~ msgid "Outcast" +#~ msgid_plural "Outcasts" +#~ msgstr[0] "Εξόριστος" +#~ msgstr[1] "Εξόριστοι" + +#~ msgid "No affiliation" +#~ msgstr "Χωρίς σχέση" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "Το ψευδώνυμο σας φαίνεται να χρησιμοποιείται ήδη." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "Το δωμάτιο που προσπαθήσατε να συνδεθείτε απαιτεί κωδικό." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "" +#~ "Ο απομακρυσμένος εξυπηρετητής συνεδριών δεν απάντησε σε λογικό πλαίσιο " +#~ "χρόνου." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "" +#~ "Ο εξυπηρετητής συνεδριών που προσπαθήσατε να συνδεθείτε δεν βρέθηκε." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "" +#~ "Ένα άγνωστο σφάλμα συνέβη, επιβεβαιώστε ότι οι λεπτομέρειες είναι σωστές." + +#~ msgid "Unavailable" +#~ msgstr "Μη διαθέσιμος" + +#~ msgid "An unknown error occurred." +#~ msgstr "Ένα άγνωστο σφάλμα συνέβη." + +#~ msgid "Connection refused." +#~ msgstr "Δεν επιτράπηκε η σύνδεση." + +#~ msgid "Server address could not be resolved." +#~ msgstr "Η διεύθυνση του εξυπηρετητή δε μπόρεσε να επιλυθεί." + +#~ msgid "Connection timed out." +#~ msgstr "Τέλος χρονικού ορίου σύνδεσης." + +#~ msgid "Authentication failed." +#~ msgstr "Η πιστοποίηση απέτυχε." + +#~ msgid "The username you are trying already exists." +#~ msgstr "Το ψευδώνυμο αυτό υπάρχει ήδη." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "Το ψευδώνυμο αυτό δεν είναι έγκυρο." + +#~ msgid "This feature is unavailable." +#~ msgstr "Αυτή η δυνατότητα δεν είναι διαθέσιμη." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Δεν έχετε δικαιώματα γι' αυτή τη δυνατότητα." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "Παρουσιάστηκε μη αναμενόμενο σφάλμα πρωτοκόλλου." + +#~ msgid "new account" +#~ msgstr "νέος λογαριασμός" + +#~ msgid "Home" +#~ msgstr "Αρχικός κατάλογος" + +#~ msgid "Couldn't send message!" +#~ msgstr "Το μήνυμα δεν μπόρεσε να σταλεί!" + +#~ msgid "Connection could not be opened" +#~ msgstr "Δεν ήταν δυνατό να ανοιχθεί η σύνδεση" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Αυτή η δυνατότητα δεν είναι διαθέσιμη." + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Δεν έχετε δικαιώματα γι' αυτή τη δυνατότητα." + +#~ msgid "Stop" +#~ msgstr "Διακοπή" + +#~ msgid "Disconnect" +#~ msgstr "Αποσύνδεση" + +#~ msgid "Connect" +#~ msgstr "Σύνδεση" + +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Οι ρυθμίσεις του νέου λογαριασμού σας καταχωρήθηκαν με επιτυχία." + +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "" +#~ "Θα πρέπει τώρα να είστε έτοιμος να συνδεθείτε στον νέο λογαριασμό σας." + +#~ msgid "Failed to register your new account settings." +#~ msgstr "Οι ρυθμίσεις του νέου σας λογαριασμού απέτυχαν να καταχωρηθούν." + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Οι ρυθμίσεις του νέου λογαριασμού σας καταχωρήθηκαν με επιτυχία." + +#, fuzzy +#~ msgid "You should now be able to connect with your new password." +#~ msgstr "" +#~ "Θα πρέπει τώρα να είστε έτοιμος να συνδεθείτε στον νέο λογαριασμό σας." + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Εισάγετε τον κωδικό του λογαριασμού %s" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Παρακαλώ εισάγετε ένα νέο όνομα για την ομάδα:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Δεν υπάρχουν διαθέσιμες πληροφορίες για αυτήν την επαφή." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Ζητούνται πληροφορίες, παρακαλώ περιμένετε..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Θα ήθελα να σε προσθέσω στην λίστα επαφών μου." + +#~ msgid "To summarize:" +#~ msgstr "Συνοψίζοντας:" + +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "%d νέο μήνυμα" +#~ msgstr[1] "%d νέα μηνύματα" + +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "%d αίτηση εγγραφής" +#~ msgstr[1] "%d αιτήσεις εγγραφών" + +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "%d αίτηση μεταφοράς αρχείου" +#~ msgstr[1] "%d αιτήσεις μεταφοράς αρχείων" + +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "%d μήνυμα εξυπηρετητή" +#~ msgstr[1] "%d μηνύματα εξυπηρετητή" + +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "%d σφάλμα" +#~ msgstr[1] "%d σφάλματα" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Αν κλείσετε, θα χάσετε όλες τις μη διαβασμένες πληροφορίες." + +#~ msgid "Gossip is still running, it is just hidden." +#~ msgstr "Το Gossip εξακολουθεί να εκτελείται, απλά είναι κρυμμένο." + +#~ msgid "Click on the notification area icon to show Gossip." +#~ msgstr "" +#~ "Κάντε κλικ στο εικονίδιο της περιοχής ειδοποιήσεων για να εμφανίσετε το " +#~ "Gossip." + +#~ msgid "You were about to quit!" +#~ msgstr "Ετοιμάζεστε να εγκαταλήψετε!" + +#~ msgid "" +#~ "Since no system or notification tray has been found, this action would " +#~ "normally quit Gossip.\n" +#~ "\n" +#~ "This is just a reminder, from now on, Gossip will quit when performing " +#~ "this action unless you uncheck the option below." +#~ msgstr "" +#~ "Εφόσον δεν βρέθηκε περιοχή ειδοποιήσεων αυτή η ενέργεια κανονικά θα " +#~ "τερματίσει το Gossip.\n" +#~ "\n" +#~ "Αυτή είναι απλά μια υπενθύμιση, από εδώ και στο εξής, το Gossip θα " +#~ "κλείνει με την εκτέλεση αυτής της ενέργειας εκτός αν αποεπιλέξετε την " +#~ "παρακάτω επιλογή." + +#~ msgid "Edit Account _Details" +#~ msgstr "Επεξεργασία _λεπτομερειών Λογαριασμού" + +#~ msgid "Click to enlarge" +#~ msgstr "Κάντε κλικ για μεγέθυνση" + +#~ msgid "Word" +#~ msgstr "Λέξη" + +#~ msgid "Select who would you like to invite to room:" +#~ msgstr "Επιλέξτε ποιον θέλετε να καλέσετε στο δωμάτιο:" + +#~ msgid "Select which room you would like to invite:" +#~ msgstr "Επιλέξτε ποιο δωμάτιο θέλετε να καλέσετε:" + +#~ msgid "New message from %s" +#~ msgstr "Νέο μήνυμα από %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "Η πρόσκληση σας απορρίφθηκε" + +#~ msgid "Accept" +#~ msgstr "Αποδοχή" + +#~ msgid "Decline" +#~ msgstr "Άρνηση" + +#~ msgid "Name" +#~ msgstr "Όνομα" + +#~ msgid "Room" +#~ msgstr "Δωμάτιο" + +#~ msgid "Auto Connect" +#~ msgstr "Αυτόματη σύνδεση" + +#~ msgid "Information requested..." +#~ msgstr "Αιτήθηκαν πληροφορίες..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "Θέλετε να αφαιρέσετε αυτήν την επαφή από την λίστα σας;" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Παρακαλώ εισάγετε ένα νέο όνομα για την ομάδα:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Επιλογή" + +#~ msgid "Unsorted" +#~ msgstr "Μη ταξινομημένα" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server." +#~ msgstr "" +#~ "Ορίστε το ψευδώνυμο για τον/την:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Μπορείτε να ανακτήσετε τις πληροφορίες της επαφής από τον εξυπηρετητή." + +#~ msgid "New file transfer request from %s" +#~ msgstr "Νέα αίτηση μεταφοράς αρχείου από %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "Οι μεταφορές αρχείων δεν υποστηρίζονται και από τις δύο πλευρές." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Η αίτηση σας για μεταφορά αρχείου απορρίφθηκε." + +#~ msgid "The other user decided not to continue." +#~ msgstr "Ο άλλος χρήστης αποφάσισε να διακόψει." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Συνέβηκε άγνωστο σφάλμα κατά την μεταφορά του αρχείου." + +#~ msgid "%s would like to send you a file." +#~ msgstr "Ο χρήστης %s θέλει να σας στείλει ένα αρχείο." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Κάποιος θέλει να σας στείλει ένα αρχείο." + +#~ msgid "Select a file" +#~ msgstr "Επιλέξτε ένα αρχείο" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Σύνδεση" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "Προκαλέσατε το χρήστης %s να συμμετάσχει στην ομαδική συζήτηση." + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "Το θέμα ορίστηκε από το χρήστη %s" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "Το θέμα ορίστηκε από το χρήστη %s" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "Το θέμα ορίστηκε από το χρήστη %s" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Θέμα:" + +#~ msgid "Account" +#~ msgstr "Λογαριασμός" + +#~ msgid "Conversation With" +#~ msgstr "Συζήτηση με" + +#~ msgid "Date" +#~ msgstr "Ημερομηνία" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "Να επιτρέπονται πολλαπλές ταυτόχρονες εκτελέσεις της εφαρμογής" + +#~ msgid "List the available accounts" +#~ msgstr "Λίστα διαθέσιμων λογαριασμών" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Ποιος λογαριασμός να συνδέεται κατά την εκκίνηση" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "OΝΟΜΑ-ΛΟΓΑΡΙΑΣΜΟΥ" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "" +#~ "Δε μπορείτε να χρησιμοποιήσετε συγχρόνως τις παραμέτρους --no-connect και " +#~ "--account" + +#~ msgid "No accounts available." +#~ msgstr "Κανένας διαθέσιμος λογαριασμός." + +#~ msgid "Available accounts:" +#~ msgstr "Διαθέσιμοι λογαριασμοί:" + +#~ msgid "[default]" +#~ msgstr "[προεπιλογή]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Δεν υπάρχει λογαριασμός με το όνομα '%s'." + +#~ msgid "Join" +#~ msgstr "Σύνδεση" + +#~ msgid "Create" +#~ msgstr "Δημιουργία" + +#~ msgid "Chat Rooms" +#~ msgstr "Δωμάτια συζήτησης" + +#~ msgid "Found %d conference rooms" +#~ msgstr "Βρέθηκαν %d δωμάτια συνεδριών" + +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Γίνεται πλοήγηση για δωμάτια συνεδριών, παρακαλώ περιμένετε..." + +#~ msgid "Browsing cancelled!" +#~ msgstr "Η πλοήγηση ακυρώθηκε!" + +#~ msgid "Default" +#~ msgstr "Προεπιλογή" + +#~ msgid "Chat!" +#~ msgstr "Συζήτηση!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "Ο χρήστης %s θέλει να προστεθεί στην λίστα επαφών σας." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Κάποιος θέλει να προστεθεί στην λίστα επαφών σας." + +#~ msgid "Subscription request" +#~ msgstr "Αίτηση εγγραφής" + +#~ msgid "Show" +#~ msgstr "Εμφάνιση" + +#~ msgid "Contact Information" +#~ msgstr "Πληροφορίες επαφής" + +#~ msgid "Subject: %s" +#~ msgstr "Θέμα: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Προτάσεις για τη λέξη" + +#~ msgid "New subscription request from %s" +#~ msgstr "Νέα αίτηση εγγραφής από το χρήστη %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Θέλετε να προσθέσετε αυτό το άτομο στη λίστα επαφών σας;" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Θέλετε να προσθέσετε το χρήστη %s στη λίστα επαφών σας;" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Εισάγετε τον κωδικό του λογαριασμού %s" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "Γίνεται σύνδεση με: %s" + +#~ msgid "Remember Password?" +#~ msgstr "Απομνημόνευση κωδικού;" + +#~ msgid "Do not show this again" +#~ msgstr "Να μην εμφανιστεί ξανά" + +#~ msgid "Could not display the help contents." +#~ msgstr "Δεν ήταν δυνατό να εμφανιστούν τα περιεχόμενα βοήθειας." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Επιλέξτε την προσωπική σας εικόνα" + +#~ msgid "No Image" +#~ msgstr "Χωρίς εικόνα" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Ο εξυπηρετητής δε φαίνεται να ανταποκρίνεται." + +#~ msgid "Try again later." +#~ msgstr "Δοκιμάστε πάλι αργότερα." + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Συζήτηση" + +#~ msgid "Contact goes offline" +#~ msgstr "Η επαφή αποσυνδέεται" + +#~ msgid "Contact goes online" +#~ msgstr "Η επαφή συνδέεται" + +#~ msgid "Contact ID:" +#~ msgstr "ID επαφής:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Θέλετε να δεχτείτε αυτό το αρχείο;" + +#~ msgid "File Transfer Request" +#~ msgstr "Αίτηση για μεταφορά αρχείου" + +#~ msgid "File name:" +#~ msgstr "Όνομα αρχείου:" + +#~ msgid "File size:" +#~ msgstr "Μέγεθος αρχείου:" + +#~ msgid "Not supported yet" +#~ msgstr "Δεν υποστηρίζεται ακόμα" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Αυτό το άτομο επιθυμεί να σας στείλει αυτό το αρχείο:" + +#~ msgid "Web site:" +#~ msgstr "Ιστότοπος:" + +#~ msgid "_Accept" +#~ msgstr "_Αποδοχή" + +#~ msgid "_Deny" +#~ msgstr "Άρ_νηση" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Ομάδες</b>" + +#~ msgid "Account:" +#~ msgstr "Λογαριασμός:" + +#~ msgid "Browse:" +#~ msgstr "Πλοήγηση:" + +#~ msgid "Edit Favorite Room" +#~ msgstr "Επεξεργασία αγαπημένου δωματίου" + +#~ msgid "" +#~ "Enter the room name to join here or click on one or more rooms in the " +#~ "list." +#~ msgstr "" +#~ "Εισάγετε εδώ το όνομα του δωματίου στο οποίο θέλετε να συνδεθείτε ή " +#~ "επιλέξτε ένα ή περισσότερα δωμάτια από τη λίστα." + +#~ msgid "Group Chat" +#~ msgstr "Ομαδική συζήτηση" + +#~ msgid "Join New" +#~ msgstr "Σύνδεση σε νέο" + +#~ msgid "Join room on start_up" +#~ msgstr "Σύνδεση στο δωμάτιο κατά την εκκίνηση" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "" +#~ "Σύνδεση στο δωμάτιο κατά την εκκίνηση του Gossip και είστε συνδεδεμένοι" + +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Διαχείριση αγαπημένων δωματίων" + +#~ msgid "N_ame:" +#~ msgstr "Όνο_μα:" + +#~ msgid "Re_fresh" +#~ msgstr "Α_νανέωση" + +#~ msgid "S_erver:" +#~ msgstr "Εξ_υπηρετητής:" + +#~ msgid "" +#~ "This list represents all chat rooms hosted on the server you have entered." +#~ msgstr "" +#~ "Αυτή η λίστα περιέχει όλα τα δωμάτια συζητήσεων που φιλοξενούνται στον " +#~ "εξυπηρετητή που έχετε εισάγει." + +#~ msgid "_Nickname:" +#~ msgstr "_Ψευδώνυμο:" + +#~ msgid "_Room:" +#~ msgstr "_Δωμάτιο:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>Περί</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Πληροφορίες πελάτη</b>" + +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Ομάδες</b>" + +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Όνομα</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Προσωπικές λεπτομέρειες</b>" + +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Εγγραφή</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "" +#~ "<span size=\"smaller\"> Παράδειγμα: Γιώργος ή user@server.org</span>" + +#~ msgid "Accou_nt:" +#~ msgstr "_Λογαριασμός:" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "Πρόσ_θεση επαφής..." + +#~ msgid "Alia_s:" +#~ msgstr "_Ψευδώνυμο:" + +#~ msgid "Avatar:" +#~ msgstr "Πρ. εικόνα:" + +#~ msgid "Ch_at" +#~ msgstr "_Συζήτηση" + +#~ msgid "Client:" +#~ msgstr "Πελάτης:" + +#~ msgid "Con_tact:" +#~ msgstr "_Επαφή:" + +#~ msgid "Connect on S_tartup" +#~ msgstr "Σύνδεση κατά την _εκκίνηση" + +#~ msgid "Contacts" +#~ msgstr "Επαφές" + +#~ msgid "Country:" +#~ msgstr "Χώρα:" + +#~ msgid "Decide _Later" +#~ msgstr "Αποφασίστε αρ_γότερα" + +#~ msgid "Edit Contact" +#~ msgstr "Επεξεργασία επαφής" + +#~ msgid "Edit Groups" +#~ msgstr "Επεξεργασία ομάδων" + +#~ msgid "Email:" +#~ msgstr "Email:" + +#~ msgid "ID:" +#~ msgstr "ID:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Αν επιλέξετε να αποφασίσετε αργότερα θα ερωτηθείτε στην επόμενη σύνδεση." + +#~ msgid "Name:" +#~ msgstr "Όνομα:" + +#~ msgid "OS:" +#~ msgstr "Λειτουργικό σύστημα:" + +#~ msgid "Personal Details" +#~ msgstr "Προσωπικές λεπτομέρειες" + +#~ msgid "R_egister" +#~ msgstr "Ε_γγραφή" + +#~ msgid "Search" +#~ msgstr "Αναζήτηση" + +#~ msgid "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." +#~ msgstr "" +#~ "Επιλέξτε τις ομάδες στις οποίες επιθυμείτε να εμφανίζεται η επαφή. " +#~ "Μπορείτε να επιλέξετε καμία, μία ή παραπάνω ομάδες." + +#, fuzzy +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Ορίστε το ψευδώνυμο για τον/την:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Μπορείτε να ανακτήσετε τις πληροφορίες της επαφής από τον εξυπηρετητή." + +#~ msgid "Spell Checker" +#~ msgstr "Ελεγκτής ορθογραφίας" + +#~ msgid "Subscription Request" +#~ msgstr "Αίτηση εγγραφής" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Προτάσεις για τη λέξη:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Αυτό συμπεριφέρεται σαν φίλτρο της παρακάτω λίστας επαφών. Μπορείτε να " +#~ "χρησιμοποιήσετε τμήματα ονομάτων επαφών ή ID, για παράδειγμα, το \"jabber." +#~ "org\" θα εμφανίσει όποιον χρησιμοποιεί αυτόν τον εξυπηρετητή" + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "" +#~ "Αυτό είναι το όνομα που θα χρησιμοποιείται στη λίστα σας γι' αυτήν την " +#~ "επαφή" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Αυτό το όνομα θα σας προσδιορίζει στα παράθυρα συζήτησης" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Αυτό το όνομα θα σας προσδιορίζει όταν νέες επαφές αναζητούν τα στοιχεία " +#~ "σας" + +#~ msgid "Use default name here from the contact's VCard." +#~ msgstr "Χρήση προκαθορισμένου όνοματος από τη VCard της επαφής." + +#~ msgid "Use system pro_xy" +#~ msgstr "Χρήση διαμεσολα_βητή συστήματος" + +#~ msgid "Version:" +#~ msgstr "Έκδοση:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Προβολή προηγούμενων συζητήσεων" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Ποιο λογαριασμό θέλετε να χρησιμοποιήσετε;" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Δεν είστε γραμμένος σε αυτήν την επαφή." + +#~ msgid "_Connect" +#~ msgstr "_Σύνδεση" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Περιγραφή:" + +#~ msgid "_Disconnect" +#~ msgstr "_Αποσύνδεση" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Email:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Εισάγετε το όνομα ή το ID του ατόμου με το οποίο θέλετε να συζητήσετε:" + +#~ msgid "_For:" +#~ msgstr "_Για:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Ό_νομα:" + +#~ msgid "_Group:" +#~ msgstr "_Ομάδα:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Ψευδώνυμο:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Συνθηματικό:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Νέο μήνυμα" + +#~ msgid "_Retrieve" +#~ msgstr "Ανά_κτηση" + +#~ msgid "_Subscribe" +#~ msgstr "Ε_γγραφή" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Ιστότοπος:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "Ρυθμίσεις λογαριασμού Jabber" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "Ρυθμίσεις λογαριασμού Jabber" + +#~ msgid "Server" +#~ msgstr "Εξυπηρετητής" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "Group:" +#~ msgstr "Ομάδα:" + +#~ msgid "Nickname:" +#~ msgstr "Ψευδώνυμο:" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Ορίστε ψευδώνυμου για το χρήστη:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "Μπορείτε να ανακτήσετε τις πληροφορίες επαφής από τον εξυπηρετητή." + +#~ msgid "Web Site:" +#~ msgstr "Ιστότοπος:" + +#~ msgid "_Forget" +#~ msgstr "_Λησμόνηση" diff --git a/trunk/po/en_CA.po b/trunk/po/en_CA.po new file mode 100644 index 000000000..cea232b12 --- /dev/null +++ b/trunk/po/en_CA.po @@ -0,0 +1,2380 @@ +# Canadian English translation of gossip. +# Copyright (C) 2004-2005 Adam Weinberger and the GNOME Foundation +# This file is distributed under the same licence as the gossip package. +# Adam Weinberger <adamw@gnome.org>, 2004, 2005. +# +# +msgid "" +msgstr "" +"Project-Id-Version: gossip\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2005-08-27 20:31-0500\n" +"Last-Translator: Adam Weinberger <adamw@gnome.org>\n" +"Language-Team: Canadian English <adamw@gnome.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Instant Messenger" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Instant Messenger" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Always open a separate chat window for new chats." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Chat window theme" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Comma-separated list of spell checker languages to use (e.g. en, fr, nl)." + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "_Show Contact List" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Disable sounds when _away" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Disable sounds when _busy" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Enable spell checking" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Hide main window" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Hide the main window." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Open new chats in separate windows" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Show Contacts" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "The height of the main window." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Show offline contacts" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Spell checking languages" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "The theme that is used to display the conversation in chat windows." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Use graphical smileys" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Use notification sounds" + +#: ../data/empathy.schemas.in.h:22 +#, fuzzy +msgid "Use theme for chat rooms" +msgstr "_Invite to Chat Room" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Whether or not to convert smileys into graphical images in conversations." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Whether or not to play a sound when messages arrive." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Whether or not to play sounds when away." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Whether or not to play sounds when busy." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Whether or not to play a sound when messages arrive." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Whether or not to show contacts that are offline in the contact list." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Whether or not to show contacts that are offline in the contact list." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Whether or not to show contacts that are offline in the contact list." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Offline" + +#: ../libempathy/gossip-presence.c:274 +#, fuzzy +msgid "Available" +msgstr "Available..." + +#: ../libempathy/gossip-presence.c:276 +#, fuzzy +msgid "Busy" +msgstr "Busy..." + +#: ../libempathy/gossip-presence.c:279 +#, fuzzy +msgid "Away" +msgstr "Away..." + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Show Contacts" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Group" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "_Add Contact..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Hide Contact List" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "_Contents" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "_Add to Favourites" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +#, fuzzy +msgid "Manage Favorites..." +msgstr "_Add to Favourites" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Show _Offline Contacts" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Accounts" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Accounts" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Add Contact..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Chat" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Contents" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "Edit" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_New Message..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "_Personal Information" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Preferences" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Room:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "_Conversation" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Status" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Show Contact List" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, Instant Messaging Client" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "Adam Weinberger" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Available..." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>About</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>About</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Accounts" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>About</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>About</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Status</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Name:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Topic:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Example: user@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "Login I_D:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "_Password:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "R_esource:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Use _encryption (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "Por_t:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Server:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Disconnected" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Check Word Spelling..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Connected" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "C_lear" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "Contact _Information" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Ch_at" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Enter status message:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Move Tab _Left" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Move Tab _Right" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "You have been invited to join a chat conference." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "_Add to Favourites" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Conversation" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Detach Tab" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Next Tab" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Previous Tab" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "_Show Contacts" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Tabs" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Copy Link Address" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Open Link" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_New Message..." +msgstr[1] "_New Message..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Chat Room:" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Conversation" +msgstr[1] "_Conversation" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Typing a message." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "_Add Contact..." + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Group" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Add a contact" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "Contact _Information" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Contact information" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/Re_name group" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "File name:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Please enter a new nickname for the contact\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "_Remove" +msgstr "/_Remove Contact" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/_Remove Contact" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "_Invite to Chat Room" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "_Send File..." +msgstr "/_Send File..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Select a file" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "_Conversation" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Language" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "<b>Appearance and Behaviour</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>About</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Appearance and Behaviour</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Status</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Languages</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Connection" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Options</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +#, fuzzy +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"The list of languages here reflects only the languages for which you have a " +"dictionary installed." + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "Chat window theme" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Disable sounds when _away" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Disable sounds when _busy" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "General" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Use notification sounds" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Preferences" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Convert _smileys to graphical images" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Show Contact List" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Spell Checking" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +#, fuzzy +msgid "_Enable spell checking" +msgstr "Enable spell checking" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Open new chats in separate windows" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Play sound when messages arrive" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "_Invite to Chat Room" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "_New Message..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "Clear List" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Do you want to accept this file?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Clear List" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Enter status message:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Add to status message list" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Add to status message list" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s went offline" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s comes online" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +#, fuzzy +msgid "Simple" +msgstr "Example: %s" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "C_lear" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +#, fuzzy +msgid "Blue" +msgstr "Basque" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Don't connect on startup" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Gossip Instant Messenger" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Gossip Instant Messenger" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Join" + +#, fuzzy +#~ msgid "Active" +#~ msgstr "Actions" + +#~ msgid "Unknown" +#~ msgstr "Unknown" + +#, fuzzy +#~ msgid "Error" +#~ msgstr "Last Error" + +#, fuzzy +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "Galician" +#~ msgstr[1] "Galician" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Use notification sounds" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "The nickname you have chosen is already in use." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "The chat room you tried to join requires a password." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "The remote conference server did not respond in a sensible time." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "The conference server you tried to join could not be found." + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Ensure that your details are correct." + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Service Unavailable" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "An unknown error occurred." + +#~ msgid "Connection refused." +#~ msgstr "Connection refused." + +#~ msgid "Server address could not be resolved." +#~ msgstr "Server address could not be resolved." + +#~ msgid "Connection timed out." +#~ msgstr "Connection timed out." + +#~ msgid "Authentication failed." +#~ msgstr "Authentication failed." + +#, fuzzy +#~ msgid "The username you are trying already exists." +#~ msgstr "The nickname you have chosen is already in use." + +#, fuzzy +#~ msgid "The username you are trying is not valid." +#~ msgstr "The nickname you have chosen is already in use." + +#, fuzzy +#~ msgid "This feature is unavailable." +#~ msgstr "No accounts available." + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Account" + +#~ msgid "Home" +#~ msgstr "Home" + +#~ msgid "Couldn't send message!" +#~ msgstr "Could not send message." + +#~ msgid "Connection could not be opened" +#~ msgstr "Connection could not be opened" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "No accounts available." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Registration Required" + +#, fuzzy +#~ msgid "There was an internal service error" +#~ msgstr "Internal Server Error" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "No accounts available." + +#, fuzzy +#~ msgid "The remote service timed out" +#~ msgstr "Remote Server Timeout" + +#~ msgid "Disconnect" +#~ msgstr "Disconnect" + +#~ msgid "Connect" +#~ msgstr "Connect" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Successfully registered the account" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Failed registering the account" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Please enter your password:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Please enter your password:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Please enter a new name for the group:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "No information is available for this contact." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Information requested, please wait..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "I would like to add you to my contact list." + +#~ msgid "To summarize:" +#~ msgstr "To summarize:" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_New Message..." +#~ msgstr[1] "_New Message..." + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Gossip - Subscription Request" +#~ msgstr[1] "Gossip - Subscription Request" + +#, fuzzy +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "Gossip - File Transfer Request" +#~ msgstr[1] "Gossip - File Transfer Request" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "Could not send message." +#~ msgstr[1] "Could not send message." + +#, fuzzy +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "Last Error" +#~ msgstr[1] "Last Error" + +#, fuzzy +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "If you quit, you will loose all unread information." + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Edit your chat room details:" + +#~ msgid "Word" +#~ msgstr "Word" + +#~ msgid "New message from %s" +#~ msgstr "New message from %s" + +#, fuzzy +#~ msgid "Your invitation has been declined" +#~ msgstr "Your file transfer offer was declined." + +#~ msgid "Accept" +#~ msgstr "Accept" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Name:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Room:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Stop Connecting" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "Information requested, please wait..." + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Do you want to remove the contact\n" +#~ "%s\n" +#~ "from your contact list?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Please enter a new name for the group:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Select" + +#~ msgid "Unsorted" +#~ msgstr "Unsorted" + +#~ msgid "New file transfer request from %s" +#~ msgstr "New file transfer request from %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "File transfer is not supported by both parties." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Your file transfer offer was declined." + +#~ msgid "The other user decided not to continue." +#~ msgstr "The other user decided not to continue." + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Unknown error occured during file transfer." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s would like to send you a file." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Someone would like to send you a file." + +#~ msgid "Select a file" +#~ msgstr "Select a file" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Connecting" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Stop Connecting" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "Invited %s to join this chat conference." + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "What nickname do you want to use for this contact?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Topic:" + +#~ msgid "Account" +#~ msgstr "Account" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Conversation" + +#~ msgid "List the available accounts" +#~ msgstr "List the available accounts" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Which account to connect to on startup" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "ACCOUNT-NAME" + +#~ msgid "No accounts available." +#~ msgstr "No accounts available." + +#~ msgid "Available accounts:" +#~ msgstr "Available accounts:" + +#~ msgid "[default]" +#~ msgstr "[default]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "There is no account with the name '%s'." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Join" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Chat Room:" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Trying to join chat room, please wait..." + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[default]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Chat" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s wants to be added to your contact list." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Someone wants to be added to your contact list." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Gossip - Subscription Request" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "Contact _Information" + +#~ msgid "Suggestions for the word" +#~ msgstr "Suggestions for the word" + +#~ msgid "New subscription request from %s" +#~ msgstr "New subscription request from %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Do you want to add this person to your contact list?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Do you want to add %s to your contact list?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Please enter your password:" + +#~ msgid "Remember Password?" +#~ msgstr "Remember Password?" + +#~ msgid "Could not display the help contents." +#~ msgstr "Could not display the help contents." + +#, fuzzy +#~ msgid "Select Your Avatar Image" +#~ msgstr "Select another and try again" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "The server does not seem to be responding." + +#~ msgid "Try again later." +#~ msgstr "Try again later." + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Chat" + +#~ msgid "Contact goes offline" +#~ msgstr "Contact goes offline" + +#~ msgid "Contact goes online" +#~ msgstr "Contact goes online" + +#~ msgid "Contact ID:" +#~ msgstr "Contact ID:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Do you want to accept this file?" + +#, fuzzy +#~ msgid "File Transfer Request" +#~ msgstr "Gossip - File Transfer Request" + +#~ msgid "File name:" +#~ msgstr "File name:" + +#~ msgid "File size:" +#~ msgstr "File size:" + +#, fuzzy +#~ msgid "Not supported yet" +#~ msgstr "Not supported yet." + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "This person wishes to send you this file:" + +#~ msgid "Web site:" +#~ msgstr "Web site:" + +#~ msgid "_Accept" +#~ msgstr "_Accept" + +#~ msgid "_Deny" +#~ msgstr "_Deny" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>About</b>" + +#~ msgid "Account:" +#~ msgstr "Account:" + +#, fuzzy +#~ msgid "Browse:" +#~ msgstr "Faroese" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - Edit Chat Room" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Join" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Join Room on Start_up" + +#~ msgid "N_ame:" +#~ msgstr "N_ame:" + +#~ msgid "S_erver:" +#~ msgstr "S_erver:" + +#~ msgid "_Nickname:" +#~ msgstr "_Nickname:" + +#~ msgid "_Room:" +#~ msgstr "_Room:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>About</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Client Information</b>" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>About</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Languages</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Personal Details</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Connection" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Example: Mikael or user@server.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Account:" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "_Add Contact..." + +#, fuzzy +#~ msgid "Alia_s:" +#~ msgstr "Alias:" + +#~ msgid "Ch_at" +#~ msgstr "Ch_at" + +#~ msgid "Client:" +#~ msgstr "Client:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "_Add Contact..." + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Connect on Start_up" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "_Add Contact..." + +#~ msgid "Country:" +#~ msgstr "Country:" + +#~ msgid "Decide _Later" +#~ msgstr "Decide _Later" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "_Add Contact..." + +#, fuzzy +#~ msgid "Edit Groups" +#~ msgstr "/_Edit Groups" + +#~ msgid "Email:" +#~ msgstr "Email:" + +#~ msgid "ID:" +#~ msgstr "ID:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "If you chose to decide later you will be asked the next time you log on." + +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "Personal Details Saved!" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Registration Required" + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Search..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Spell Checking" + +#, fuzzy +#~ msgid "Subscription Request" +#~ msgstr "Gossip - Subscription Request" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Suggestions for the word:" + +#, fuzzy +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "This acts as a filter of the contact list below. You can use segments of " +#~ "contact's name or ID; for example, \"jabber.org\" will list everyone " +#~ "using that server. " + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "This is the name that will be used on your roster for this contact." + +#, fuzzy +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "This name will be used to identify you in chat windows." + +#, fuzzy +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "This name will be used to identify you in chat windows." + +#~ msgid "Use system pro_xy" +#~ msgstr "Use system pro_xy" + +#~ msgid "Version:" +#~ msgstr "Version:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "_Conversation" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Which username do you want to use?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "You are not subscribed to this contact." + +#~ msgid "_Connect" +#~ msgstr "_Connect" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Description:" + +#~ msgid "_Disconnect" +#~ msgstr "_Disconnect" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Email:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Enter the name or contact ID of the person you want to chat with below:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "Por_t:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "_Name:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Group:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Nickname:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Password:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "_New Message..." + +#~ msgid "_Subscribe" +#~ msgstr "_Subscribe" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Web site:" + +#~ msgid "Preset status messages" +#~ msgstr "Preset status messages" + +#~ msgid "Preset status messages." +#~ msgstr "Preset status messages." + +#~ msgid "Connecting" +#~ msgstr "Connecting" + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "Perhaps you are trying to connect to the wrong port?" + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "Perhaps the service is not currently running?" + +#~ msgid "Check your connection details." +#~ msgstr "Check your connection details." + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "Perhaps the server is not running this service." + +#~ msgid "Check your username and password are correct." +#~ msgstr "Ensure that your username and password are correct." + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s will be added to your contact list." + +#~ msgid "%s ID of new contact:" +#~ msgstr "%s ID of new contact:" + +#~ msgid "Example: %s" +#~ msgstr "Example: %s" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "You have no Instant Messaging accounts configured!" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "" +#~ "Next you will be presented with the Account Information dialogue to set " +#~ "up your details." + +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "" +#~ "Please enter your invitation message to:\n" +#~ "%s" + +#, fuzzy +#~ msgid "Favourite" +#~ msgstr "_Add to Favourites" + +#~ msgid "Contact Information for %s" +#~ msgstr "Contact Information for %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/Contact _Information" + +#~ msgid "/Re_name Contact" +#~ msgstr "/Re_name Contact" + +#~ msgid "/_Edit Groups" +#~ msgstr "/_Edit Groups" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "_Conversation" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Edit groups for %s" + +#~ msgid "Conversation Log" +#~ msgstr "Conversation Log" + +#~ msgid "Registering account" +#~ msgstr "Registering account" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Reason:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "_Add to Favourites" + +#, fuzzy +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "" +#~ "Pick a saved chat room or customize your own nickname, server and chat " +#~ "room to join." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Name:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Chat Room:" + +#, fuzzy +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "" +#~ "Pick a saved chat room or customize your own nickname, server and chat " +#~ "room to join." + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Information requested, please wait...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Example: user@jabber.org</span>" + +#~ msgid "Account Name" +#~ msgstr "Account Name" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Chat Room:" + +#, fuzzy +#~ msgid "Connection Details" +#~ msgstr "Connection" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Do you already have an account set up on a server?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Enter the user's contact ID:" + +#~ msgid "Finished" +#~ msgstr "Finished" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favourite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "In which group do you want to place this contact?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Nickname:" +#~ msgstr "Nickname:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "Por_t:" + +#, fuzzy +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "Press Subscribe to request to receive their status." + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Registering account" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "R_esource:" + +#~ msgid "Sending request" +#~ msgstr "Sending request" + +#, fuzzy +#~ msgid "Server:" +#~ msgstr "_Server:" + +#~ msgid "Web Site:" +#~ msgstr "Web Site:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Welcome to Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Which instant messaging system does the contact use?" + +#~ msgid "What is your name?" +#~ msgstr "What is your name?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "What server do you want to use?" + +#~ msgid "What username do you use?" +#~ msgstr "What username do you use?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Which username do you want to use?" + +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "To which account do you want to add this contact?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." + +#~ msgid "Your Account" +#~ msgstr "Your Account" + +#~ msgid "Your Identity" +#~ msgstr "Your Identity" + +#~ msgid "Your new account has now been set up." +#~ msgstr "Your new account has now been set up." + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gossip - Chat" + +#~ msgid "_No" +#~ msgstr "_No" + +#~ msgid "_Search..." +#~ msgstr "_Search..." + +#~ msgid "_Yes" +#~ msgstr "_Yes" + +#~ msgid "Be silent when away" +#~ msgstr "Be silent when away" + +#~ msgid "Be silent when busy" +#~ msgstr "Be silent when busy" + +#~ msgid "Height of main window" +#~ msgstr "Height of main window" + +#~ msgid "The X position of the main window." +#~ msgstr "The X position of the main window." + +#~ msgid "The Y position of the main window." +#~ msgstr "The Y position of the main window." + +#~ msgid "The width of the main window." +#~ msgstr "The width of the main window." + +#~ msgid "Whether spell checking should be turned on." +#~ msgstr "Whether spell checking should be enabled." + +#~ msgid "Width of the main window" +#~ msgstr "Width of the main window" + +#~ msgid "X position of main window" +#~ msgstr "X position of main window" + +#~ msgid "Y position of main window" +#~ msgstr "Y position of main window" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, Instant Messaging Client" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "_Invite to Chat Room" + +#~ msgid "Requested Information" +#~ msgstr "Requested Information" + +#~ msgid "/_Invite to Chat Conference" +#~ msgstr "/_Invite to Chat Conference" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "_New Message..." + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s went offline" + +#~ msgid "Contact _Information" +#~ msgstr "Contact _Information" + +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Sound</b>" + +#~ msgid "Check spelling while I _type" +#~ msgstr "Check spelling while I _type" + +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Accounts" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "_Join Group Chat..." + +#~ msgid "Por_t:" +#~ msgstr "Por_t:" + +#~ msgid "Requested information." +#~ msgstr "Requested information." + +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "Requesting contact information, please wait..." + +#~ msgid "Could not open connection" +#~ msgstr "Could not open connection" + +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Could not find the server you wanted to use" + +#~ msgid "Connection to the server failed." +#~ msgstr "Connection to the server failed." + +#~ msgid "Authentication failed" +#~ msgstr "Authentication failed" + +#~ msgid "Written by:" +#~ msgstr "Written by:" + +#~ msgid "Artwork by:" +#~ msgstr "Artwork by:" + +#~ msgid "Translated by:" +#~ msgstr "Translated by:" + +#~ msgid "Account ID" +#~ msgstr "Account ID" + +#~ msgid "Last Error" +#~ msgstr "Last Error" + +#~ msgid "%sChat - %s" +#~ msgstr "%sChat - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Show _Log" + +#~ msgid "Afrikaans" +#~ msgstr "Afrikaans" + +#~ msgid "Amharic" +#~ msgstr "Amharic" + +#~ msgid "Arabic" +#~ msgstr "Arabic" + +#~ msgid "Azerbaijani" +#~ msgstr "Azerbaijani" + +#~ msgid "Belarusian" +#~ msgstr "Belarusian" + +#~ msgid "Bulgarian" +#~ msgstr "Bulgarian" + +#~ msgid "Bengali" +#~ msgstr "Bengali" + +#~ msgid "Breton" +#~ msgstr "Breton" + +#~ msgid "Bosnian" +#~ msgstr "Bosnian" + +#~ msgid "Catalan" +#~ msgstr "Catalan" + +#~ msgid "Czech" +#~ msgstr "Czech" + +#~ msgid "Welsh" +#~ msgstr "Welsh" + +#~ msgid "Danish" +#~ msgstr "Danish" + +#~ msgid "German" +#~ msgstr "German" + +#~ msgid "German (Austria)" +#~ msgstr "German (Austria)" + +#~ msgid "German (Germany)" +#~ msgstr "German (Germany)" + +#~ msgid "German (Swiss)" +#~ msgstr "German (Swiss)" + +#~ msgid "Greek" +#~ msgstr "Greek" + +#~ msgid "English" +#~ msgstr "English" + +#~ msgid "English (Canadian)" +#~ msgstr "English (Canadian)" + +#~ msgid "English (British)" +#~ msgstr "English (British)" + +#~ msgid "English (American)" +#~ msgstr "English (American)" + +#~ msgid "Esperanto" +#~ msgstr "Esperanto" + +#~ msgid "Spanish" +#~ msgstr "Spanish" + +#~ msgid "Estonian" +#~ msgstr "Estonian" + +#~ msgid "Persian" +#~ msgstr "Persian" + +#~ msgid "Finnish" +#~ msgstr "Finnish" + +#~ msgid "French" +#~ msgstr "French" + +#~ msgid "French (France)" +#~ msgstr "French (France)" + +#~ msgid "French (Swiss)" +#~ msgstr "French (Swiss)" + +#~ msgid "Irish Gaelic" +#~ msgstr "Irish Gaelic" + +#~ msgid "Scots Gaelic" +#~ msgstr "Scots Gaelic" + +#~ msgid "Gujarati" +#~ msgstr "Gujarati" + +#~ msgid "Manx Gaelic" +#~ msgstr "Manx Gaelic" + +#~ msgid "Hebrew" +#~ msgstr "Hebrew" + +#~ msgid "Hindi" +#~ msgstr "Hindi" + +#~ msgid "Croatian" +#~ msgstr "Croatian" + +#~ msgid "Hungarian" +#~ msgstr "Hungarian" + +#~ msgid "Indonesian" +#~ msgstr "Indonesian" + +#~ msgid "Icelandic" +#~ msgstr "Icelandic" + +#~ msgid "Italian" +#~ msgstr "Italian" + +#~ msgid "Japanese" +#~ msgstr "Japanese" + +#~ msgid "Georgian" +#~ msgstr "Georgian" + +#~ msgid "Kannada" +#~ msgstr "Kannada" + +#~ msgid "Korean" +#~ msgstr "Korean" + +#~ msgid "Kurdish" +#~ msgstr "Kurdish" + +#~ msgid "Cornish" +#~ msgstr "Cornish" + +#~ msgid "Limburgish" +#~ msgstr "Limburgish" + +#~ msgid "Lithuanian" +#~ msgstr "Lithuanian" + +#~ msgid "Latvian" +#~ msgstr "Latvian" + +#~ msgid "Maori" +#~ msgstr "Maori" + +#~ msgid "Macedonian" +#~ msgstr "Macedonian" + +#~ msgid "Malayalam" +#~ msgstr "Malayalam" + +#~ msgid "Mongolian" +#~ msgstr "Mongolian" + +#~ msgid "Marathi" +#~ msgstr "Marathi" + +#~ msgid "Malay" +#~ msgstr "Malay" + +#~ msgid "Norwegian (Bokmal)" +#~ msgstr "Norwegian (Bokmal)" + +#~ msgid "Nepali" +#~ msgstr "Nepali" + +#~ msgid "Dutch" +#~ msgstr "Dutch" + +#~ msgid "Norwegian" +#~ msgstr "Norwegian" + +#~ msgid "Norwegian (Nynorsk)" +#~ msgstr "Norwegian (Nynorsk)" + +#~ msgid "Norwegian (Nyorsk)" +#~ msgstr "Norwegian (Nyorsk)" + +#~ msgid "Oriya" +#~ msgstr "Oriya" + +#~ msgid "Punjabi" +#~ msgstr "Punjabi" + +#~ msgid "Polish" +#~ msgstr "Polish" + +#~ msgid "Portuguese" +#~ msgstr "Portuguese" + +#~ msgid "Portuguese (Portugal)" +#~ msgstr "Portuguese (Portugal)" + +#~ msgid "Portuguese (Brazil)" +#~ msgstr "Portuguese (Brazil)" + +#~ msgid "Romanian" +#~ msgstr "Romanian" + +#~ msgid "Russian" +#~ msgstr "Russian" + +#~ msgid "Kinyarwanda" +#~ msgstr "Kinyarwanda" + +#~ msgid "Slovak" +#~ msgstr "Slovak" + +#~ msgid "Slovenian" +#~ msgstr "Slovenian" + +#~ msgid "Albanian" +#~ msgstr "Albanian" + +#~ msgid "Serbian" +#~ msgstr "Serbian" + +#~ msgid "Swedish" +#~ msgstr "Swedish" + +#~ msgid "Tamil" +#~ msgstr "Tamil" + +#~ msgid "Telugu" +#~ msgstr "Telugu" + +#~ msgid "Thai" +#~ msgstr "Thai" + +#~ msgid "Turkmen" +#~ msgstr "Turkmen" + +#~ msgid "Turkish" +#~ msgstr "Turkish" + +#~ msgid "Ukrainian" +#~ msgstr "Ukrainian" + +#~ msgid "Vietnamese" +#~ msgstr "Vietnamese" + +#~ msgid "Wallon" +#~ msgstr "Wallon" + +#~ msgid "Xhosa" +#~ msgstr "Xhosa" + +#~ msgid "Yiddish" +#~ msgstr "Yiddish" + +#~ msgid "Chinese Simplified" +#~ msgstr "Chinese Simplified" + +#~ msgid "Chinese Traditional" +#~ msgstr "Chinese Traditional" + +#~ msgid "View Lo_g" +#~ msgstr "View Lo_g" + +#, fuzzy +#~ msgid "Gossip - Chat Rooms" +#~ msgstr "Gossip - Edit Chat Room" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - Group Chat" + +#, fuzzy +#~ msgid "Gossip - New Chatroom" +#~ msgstr "Gossip - Edit Chat Room" + +#~ msgid "Gossip - Add contact" +#~ msgstr "Gossip - Add contact" + +#~ msgid "Gossip - Contact Information" +#~ msgstr "Gossip - Contact Information" + +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - Edit Groups" + +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - New Account" + +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - New Message" + +#~ msgid "Gossip - Personal Details" +#~ msgstr "Gossip - Personal Details" + +#~ msgid "Gossip - Preferences" +#~ msgstr "Gossip - Preferences" + +#~ msgid "Gossip - Spell Checker" +#~ msgstr "Gossip - Spell Checker" + +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - Status Message" + +#~ msgid "Waiting for server to respond, please wait..." +#~ msgstr "Waiting for server to respond; please wait..." + +#~ msgid "Connection could not be created" +#~ msgstr "Connection could not be created" + +#~ msgid "Redirect" +#~ msgstr "Redirect" + +#~ msgid "Bad Request" +#~ msgstr "Bad Request" + +#~ msgid "Not Authorized" +#~ msgstr "Not Authorized" + +#~ msgid "Payment Required" +#~ msgstr "Payment Required" + +#~ msgid "Forbidden" +#~ msgstr "Forbidden" + +#~ msgid "Not Found" +#~ msgstr "Not Found" + +#~ msgid "Not Allowed" +#~ msgstr "Not Allowed" + +#~ msgid "Not Acceptable" +#~ msgstr "Not Acceptable" + +#~ msgid "Request Timeout" +#~ msgstr "Request Timeout" + +#~ msgid "Conflict" +#~ msgstr "Conflict" + +#~ msgid "Not Implemented" +#~ msgstr "Not Implemented" + +#~ msgid "Remote Server Error" +#~ msgstr "Remote Server Error" + +#~ msgid "Unknown error." +#~ msgstr "Unknown error." + +#~ msgid "Custom" +#~ msgstr "Custom" + +#~ msgid "The chat room you are trying is not responding." +#~ msgstr "The chat room you are trying is not responding." + +#~ msgid "Check your details and try again." +#~ msgstr "Check your details and try again." + +#~ msgid "This is currently unsupported." +#~ msgstr "This is currently unsupported." + +#~ msgid "Perhaps the conference server is busy, try again later." +#~ msgstr "Perhaps the conference server is busy; try again later." + +#~ msgid "Check the server host name is correct and is available." +#~ msgstr "Check the server host name is correct and is available." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip will now try to use your account:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip will now try to register the account:" + +#~ msgid "Cus_tomize" +#~ msgstr "Cus_tomize" + +#~ msgid "Edit or Delete this favorite." +#~ msgstr "Edit or Delete this favourite." + +#~ msgid "Gossip - Join Chat Room " +#~ msgstr "Gossip - Join Chat Room " + +#~ msgid "Choose a Server" +#~ msgstr "Choose a Server" + +#~ msgid "On what server do you have an account?" +#~ msgstr "On what server do you have an account?" diff --git a/trunk/po/en_GB.po b/trunk/po/en_GB.po new file mode 100644 index 000000000..bcc669cbf --- /dev/null +++ b/trunk/po/en_GB.po @@ -0,0 +1,1174 @@ +# Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same licence as the empathy package. +# David Lodge <dave@cirt.net>, 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: empathy\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2007-05-15 07:25-0000\n" +"Last-Translator: David Lodge <dave@cirt.net>\n" +"Language-Team: en_GB <en@li.org>\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/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "- Empathy Instant Messenger" + +#: ../data/empathy.desktop.in.h:2 +#, fuzzy +msgid "Instant Messenger" +msgstr "- Empathy Instant Messenger" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Always open a separate chat window for new chats." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Chat window theme" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "Compact contact list" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "Contact list sort criterium" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Default directory to select an avatar image from" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Enable popup when contact is available" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Enable sound when away" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Enable sound when busy" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "Enable spell checker" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Hide main window" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Hide the main window." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Open new chats in separate windows" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Show avatars" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "Show hint about closing the main window" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Show offline contacts" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Spell checking languages" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "The last directory that an avatar image was chosen from." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "The theme that is used to display the conversation in chat windows." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Use graphical smileys" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Use notification sounds" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "Use theme for chat rooms" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" +"Whether or not to check words typed against the languages you want to check " +"with." + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Whether or not to convert smileys into graphical images in conversations." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Whether or not to play a sound when messages arrive." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Whether or not to play sounds when away." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Whether or not to play sounds when busy." + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Whether or not to show a popup when a contact becomes available." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Whether or not to show contacts that are offline in the contact list." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"Whether or not to show the message dialogue about closing the main window " +"with the 'x' button in the title bar." + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "Whether to show the contact list in compact mode or not." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "Whether to use the theme for chat rooms or not." + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Offline" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Available" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Busy" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Away" + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "Show and edit accounts" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Group" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "Contact" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +msgid "Contact List - Empathy" +msgstr "Contact List - Empathy" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "Context" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "Join _Favorites" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Join _New..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "Manage Favorites..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Show _Offline Contacts" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "_About" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Accounts" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Add Contact..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Chat" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Contents" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "_Edit" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "_Help" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_New Message..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "_Personal Information" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Preferences" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Quit" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Room" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "_View Previous Conversations" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Status" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Show Contact List" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" +"Empathy is free software; you can redistribute it and/or modify it under the " +"terms of the GNU General Public Licence as published by the Free Software " +"Foundation; either version 2 of the Licence, or (at your option) any later " +"version." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" +"Empathy 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 Licence for more " +"details." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"You should have received a copy of the GNU General Public Licence along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "An Instant Messaging client for GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "David Lodge <dave@cirt.net>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +msgid "Disable" +msgstr "Disable" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "Enable" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "<b>No Account Selected</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "<b>No Accounts Configured</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Accounts" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Account</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +msgid "<b>New Account</b>" +msgstr "<b>New Account</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +msgid "<b>Settings</b>" +msgstr "<b>Settings</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "A unique name for this account to identify it personally to you." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +msgid "Cr_eate" +msgstr "Cr_eate" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "Imendio " + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Name:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "_Type:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "%s:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "Forget password and clear the entry." + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "Login I_D:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "Pass_word:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "Reso_urce:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "Use encryption (SS_L)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Port:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Server:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "jabber account settings" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Disconnected" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Insert Smiley" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Check Word Spelling..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Connected" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "C_lear" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "Change _Topic..." + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "Contact Infor_mation" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "Cu_t" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "In_vite..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Insert _Smiley" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +msgid "Invitation _message:" +msgstr "Invitation _message:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "Invite" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Move Tab _Left" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Move Tab _Right" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "Select who would you like to invite:" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "You have been invited to join a chat conference." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "_Add To Favorites" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "_Close" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Conversation" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "_Copy" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Detach Tab" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Next Tab" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "_Paste" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Previous Tab" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "_Show Contacts" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Tabs" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Copy Link Address" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Open Link" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "New Message" +msgstr[1] "New Messages" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "Chat Room" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "Conversation" +msgstr[1] "Conversations (%d)" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Typing a message." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "_Contact" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "_Group" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "Chat with contact" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "Infor_mation" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "View contact information" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "Re_name" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "Rename" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "Edit the groups and name for this contact" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Remove" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "Remove contact" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "_Invite to Chat Room" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "Invite to a currently open chat room" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "_Send File..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "Send a file" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "View previous conversations with this contact" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Language" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Appearance</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Audio</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Behaviour</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +msgid "<b>Contact List</b>" +msgstr "<b>Contact List</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Languages</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Options</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Visual</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "Avatars are user chosen images shown in the contact list" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "Chat Th_eme:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Display notifications when contacts come _online" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Enable sounds when _away" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Enable sounds when _busy" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "General" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Notifications" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Preferences" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Show _avatars" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Show _smileys as images" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "Show co_mpact contact list" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "Sort by _name" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "Sort by s_tate" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Spell Checking" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "Themes" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "_Enable spell checking" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Open new chats in separate windows" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Play sound when messages arrive" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "_Use for chat rooms" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Custom message..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Clear List..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "Are you sure you want to clear the list?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"This will remove any custom messages you have added to the list of preset " +"status messages." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Clear List" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Enter status message:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Status Message Presets" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "_Add to status message list" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s went offline" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s has come online" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Classic" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Simple" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Clean" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Blue" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Don't connect on startup" + +#: ../src/empathy-main.c:155 +msgid "- Empathy Instant Messenger" +msgstr "- Empathy Instant Messenger" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>About</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Client Information</b>" + +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Groups</b>" + +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Name</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Personal Details</b>" + +#~ msgid "<b>Status</b>" +#~ msgstr "<b>Status</b>" + +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Subscription</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Example: Mikael or user@server.org</span>" + +#~ msgid "" +#~ "<span size=\"smaller\">Note: You must select an account if the contact is " +#~ "unknown</span>" +#~ msgstr "" +#~ "<span size=\"smaller\">Note: You must select an account if the contact is " +#~ "unknown</span>" + +#~ msgid "Accou_nt:" +#~ msgstr "Accou_nt:" + +#~ msgid "Account:" +#~ msgstr "Account:" + +#~ msgid "Add Contact" +#~ msgstr "Add Contact" + +#~ msgid "Alia_s:" +#~ msgstr "Alia_s:" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Birthday:" +#~ msgstr "Birthday:" + +#~ msgid "C_hange" +#~ msgstr "C_hange" + +#~ msgid "Ch_at" +#~ msgstr "Ch_at" + +#~ msgid "Chat Rooms" +#~ msgstr "Chat Rooms" + +#~ msgid "Client:" +#~ msgstr "Client:" + +#~ msgid "Con_tact:" +#~ msgstr "Con_tact:" + +#~ msgid "Connect on S_tartup" +#~ msgstr "Connect on S_tartup" + +#~ msgid "Contact List - Gossip" +#~ msgstr "Contact List - Gossip" + +#~ msgid "Contacts" +#~ msgstr "Contacts" + +#~ msgid "Country:" +#~ msgstr "Country:" + +#~ msgid "Decide _Later" +#~ msgstr "Decide _Later" + +#~ msgid "Edit Contact" +#~ msgstr "Edit Contact" + +#~ msgid "Edit Groups" +#~ msgstr "Edit Groups" + +#~ msgid "Email:" +#~ msgstr "Email:" + +#~ msgid "ID:" +#~ msgstr "ID:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "If you chose to decide later you will be asked the next time you log on." + +#~ msgid "Information requested..." +#~ msgstr "Information requested..." + +#~ msgid "N_ame:" +#~ msgstr "N_ame:" + +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#~ msgid "Personal Details" +#~ msgstr "Personal Details" + +#~ msgid "R_egister" +#~ msgstr "R_egister" + +#~ msgid "Search" +#~ msgstr "Search" + +#~ msgid "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." +#~ msgstr "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " + +#~ msgid "Spell Checker" +#~ msgstr "Spell Checker" + +#~ msgid "Subscription Request" +#~ msgstr "Subscription Request" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Suggestions for the word:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below.\n" +#~ "\n" +#~ "You can use segments of contact's name or ID, for example, \"jabber.org\" " +#~ "will list everyone using that server.\n" +#~ "\n" +#~ "You can also use the name of a group to show only contacts in a specific " +#~ "group." +#~ msgstr "" +#~ "This acts as a filter to the contact list below.\n" +#~ "\n" +#~ "You can use segments of contact's name or ID, for example, \"jabber.org\" " +#~ "will list everyone using that server.\n" +#~ "\n" +#~ "You can also use the name of a group to show only contacts in a specific " +#~ "group." + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "This is the name that will be used on your roster for this contact" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "This name will be used to identify you in chat windows" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" + +#~ msgid "Use default name here from the contact's VCard." +#~ msgstr "Use default name here from the contact's VCard." + +#~ msgid "Use system pro_xy" +#~ msgstr "Use system pro_xy" + +#~ msgid "Version:" +#~ msgstr "Version:" + +#~ msgid "View Previous Conversations" +#~ msgstr "View Previous Conversations" + +#~ msgid "Web site:" +#~ msgstr "Web site:" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Which account do you want to use?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "You are not subscribed to this contact." + +#~ msgid "_Accept" +#~ msgstr "_Accept" + +#~ msgid "_Birthday:" +#~ msgstr "_Birthday:" + +#~ msgid "_Connect" +#~ msgstr "_Connect" + +#~ msgid "_Deny" +#~ msgstr "_Deny" + +#~ msgid "_Description:" +#~ msgstr "_Description:" + +#~ msgid "_Disconnect" +#~ msgstr "_Disconnect" + +#~ msgid "_Email:" +#~ msgstr "_Email:" + +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" + +#~ msgid "_For:" +#~ msgstr "_For:" + +#~ msgid "_Full Name:" +#~ msgstr "_Full Name:" + +#~ msgid "_Group:" +#~ msgstr "_Group:" + +#~ msgid "_Nick Name:" +#~ msgstr "_Nick Name:" + +#~ msgid "_Nickname:" +#~ msgstr "_Nickname:" + +#~ msgid "_Password:" +#~ msgstr "_Password:" + +#~ msgid "_Quit Message:" +#~ msgstr "_Quit Message:" + +#~ msgid "_Retrieve" +#~ msgstr "_Retrieve" + +#~ msgid "_Search" +#~ msgstr "_Search" + +#~ msgid "_Subscribe" +#~ msgstr "_Subscribe" + +#~ msgid "_Web site:" +#~ msgstr "_Web site:" + +#~ msgid "irc account settings" +#~ msgstr "irc account settings" + +#~ msgid "msn account settings" +#~ msgstr "msn account settings" diff --git a/trunk/po/eo.po b/trunk/po/eo.po new file mode 100644 index 000000000..25baefbec --- /dev/null +++ b/trunk/po/eo.po @@ -0,0 +1,1921 @@ +# Esperanto translation of Gossip +# Copyright (C) 2003 Free Software Foundation, Inc. +# Brient Hess <brient@brient.net>, 2004. +# +# This file is distributed under the same license as the Gossip package. +# +msgid "" +msgstr "" +"Project-Id-Version: Gossip 0.7.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-05-29 12:22-0900\n" +"Last-Translator: Brient Hess <brient@brient.net>\n" +"Language-Team: Esperanto Team (inactive?) <eo@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Tujmesaĝilo" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Tujmesaĝilo" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Aldonu al vi kontaktlisto" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Invalidu sonoj dum _fora" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Invalidu sonoj dum _okupita" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Gossip - Sendu Mesaĝo" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Kaŝu precipa fenestro" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Kaŝu la precipa fenestro." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Montru Kontaktlisto" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "La alteco de la precipa fenestro." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Vidigu ne kontaktebloj" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Uzas grafika ridetoj" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Uzas anoncadaj sonoj" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Ĉu konverti ridetoj al iĝi grafika bildo en konversacioj." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Ĉu ludu iu sono kiam mesaĝoj alvenas." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Ĉu ludu sonoj dum fora." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Ĉu ludu sonoj dum okupita." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Ĉu ludu iu sono kiam mesaĝoj alvenas." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Ĉu montru kontaktoj kiun estas ne kontaktebla en la kontaktlisto." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Ĉu montru kontaktoj kiun estas ne kontaktebla en la kontaktlisto." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Ĉu montru kontaktoj kiun estas ne kontaktebla en la kontaktlisto." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Ne kontaktebla" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Ricevebla" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Okupita" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Fora" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Montru Kontaktlisto" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Grupo" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "_Aldonu Kontakto..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Kaŝu Kontaktlisto" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Konektu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "Editu favoratoj..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "_Vidigu Ne Kontaktebloj" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Akceptu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Akceptu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Aldonu Kontakto..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Babilu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Konektu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Nova Mesaĝo..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Persona Informaĵo" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Agordo" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Ejo:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "_Konversacio" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Stato" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Montru Kontaktlisto" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, Tujmesaĝilo" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "Brient Hess" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Ricevebla" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Favorata:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Favorata:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Jabber Konto" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Favorata:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Favorata:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "Stato" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Babilo" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Nomo:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Temo:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Ekzemplo: uzanto@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "_Pasvorto:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "_Rimedero:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "_Uzu ĉifrado (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "_Konektilo:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Servilo:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Malkonektis" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Konektis" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Forviŝu" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Babilo" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "Kontakto _Informaĵo" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Babilo" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "Re_gistrigu..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Enskribu stata mesaĝo:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Movu Tabo _Maldekstre" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Movu Tabo _Dekstre" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "Editu favoratoj..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Konversacio" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Deigu Tabo" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Posta Tabo" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Antaŭa Tabo" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "_Montru Kontaktlisto" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Taboj" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Kopiu Ligo Adreso" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Malfermu Ligo" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_Nova Mesaĝo..." +msgstr[1] "_Nova Mesaĝo..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossip - Babilo" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Konversacio" +msgstr[1] "_Konversacio" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "_Aldonu Kontakto..." + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Grupo" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Aldonu iu kontakto" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "Kontakto _Informaĵo" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Kontakto informaĵo" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/Re_nomu grupo" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Uzanto_nomo:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Bonvolu enigu novan kromnomon por la kontakto\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Forigu" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/Forti_ru kontakto" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossip - Editu Grupbabiloj" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Elektu" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "_Konversacio" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Aspekto" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Favorata:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Favorata:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Stato" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Konektu" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Favorata:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "Babilo _nomo:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Invalidu sonoj dum _fora" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Invalidu sonoj dum _okupita" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Uzas anoncadaj sonoj" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Agordo" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Konvertu _ridetoj al iĝi grafikaj bildoj" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Montru Kontaktlisto" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "Ludu sono kiam mesaĝoj alveni" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gossip - Editu Grupbabiloj" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Petomesaĝo" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "_Forviŝu" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Ĉu vi deziras akcepti la peton?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "_Forviŝu" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Enskribu stata mesaĝo:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Stato Mesaĝoj" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Savis stato mesaĝoj" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s estinta ne kontaktebla" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s estanta kontaktebla" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "_Forviŝu" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Ne konekti dum lanĉo" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Tujmesaĝilo" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Tujmesaĝilo" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Kuniĝu" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Nekonata eraro" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Uzas anoncadaj sonoj" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Nekonata eraro" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Ricevebla" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Nekonata eraro" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Konektis" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Konektis" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Jabber Konto" + +#~ msgid "Home" +#~ msgstr "Hejmo" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Registrigas konto" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Malkonektu" + +#~ msgid "Connect" +#~ msgstr "Konektu" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Sukcesus registrigi la konto" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Malsukcesus registrigi la konto" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Bonvolu enigu vin pasvorton:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Bonvolu enigu vin pasvorton:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Bonvolu enigu novan nomon por la grupo\n" +#~ "%s" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>Informaĵo petis, Bonvolu atendi...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Mi deziras aldoni vin al mia kontaktlisto." + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_Nova Mesaĝo..." +#~ msgstr[1] "_Nova Mesaĝo..." + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Editu Konto Informaĵo" + +#~ msgid "New message from %s" +#~ msgstr "Nova mesaĝo el %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Akceptu" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Nomo:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Ejo:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Konektu" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>Informaĵo petis, Bonvolu atendi...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Vi deziras fortiri la kontakto%s\n" +#~ "de vi kontaktlisto?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Bonvolu enigu novan nomon por la grupo\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Elektu" + +#~ msgid "Unsorted" +#~ msgstr "Malklasa" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Nekonata eraro" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "Mi deziras aldoni vin al mia kontaktlisto." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "Mi deziras aldoni vin al mia kontaktlisto." + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Elektu" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_Konektu..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Konektu" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Kio kromnomo vi deziras uzi por tio kontakto?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Temo:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Jabber Konto" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Konversacio" + +#~ msgid "List the available accounts" +#~ msgstr "Listigu la disponeblaj kontoj" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Tio konto al konekti dum lanĉo" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "KONTO-NOMO" + +#~ msgid "Available accounts:" +#~ msgstr "Disponeblaj kontoj:" + +#~ msgid "[default]" +#~ msgstr "[defaŭlto]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Ne estas konto nomas '%s'." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Kuniĝu" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Babilo" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossip - Babilo" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "<b>Informaĵo petis, Bonvolu atendi...</b>" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[defaŭlto]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Babilo" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s aldonos al vi kontaktlisto." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "%s aldonos al vi kontaktlisto." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Sendas peto" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "Kontakto _Informaĵo" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "Vi deziras fortiri la kontakto%s\n" +#~ "de vi kontaktlisto?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "Vi deziras fortiri la kontakto%s\n" +#~ "de vi kontaktlisto?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Bonvolu enigu vin pasvorton:" + +#~ msgid "Remember Password?" +#~ msgstr "Memoru Pasvorto?" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Babilo" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "%s estanta kontaktebla" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Ĉu vi deziras akcepti la peton?" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "Uzanto_nomo:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "TTT-ejo:" + +#~ msgid "Web site:" +#~ msgstr "TTT-ejo:" + +#~ msgid "_Accept" +#~ msgstr "_Akceptu" + +#~ msgid "_Deny" +#~ msgstr "_Neu" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Favorata:</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Jabber Konto" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - Editu Grupbabiloj" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - Babilo" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Kuniĝu" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Ne konekti dum lanĉo" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Nomo:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Servilo:" + +#~ msgid "_Nickname:" +#~ msgstr "Krom_nomo:" + +#~ msgid "_Room:" +#~ msgstr "_Ejo:" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>Favorata:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Informaĵo pri Babililo " + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Favorata:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "Stato" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Konto Elektoj</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Konektu" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Ekzemplo: uzanto@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Jabber Konto" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "_Aldonu Kontakto..." + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Babilo" + +# babililo = chat-tool +#~ msgid "Client:" +#~ msgstr "Babililo:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "_Aldonu Kontakto..." + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Ne konekti dum lanĉo" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "_Aldonu Kontakto..." + +#~ msgid "Country:" +#~ msgstr "Lando:" + +#, fuzzy +#~ msgid "Decide _Later" +#~ msgstr "_Decidi pli Poste" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "_Aldonu Kontakto..." + +#~ msgid "Edit Groups" +#~ msgstr "Editu Grupoj" + +#~ msgid "Email:" +#~ msgstr "Retpoŝto:" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "JID" + +#~ msgid "Name:" +#~ msgstr "Nomo:" + +#~ msgid "OS:" +#~ msgstr "Mastruma Sistemo:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "<b>Konto Elektoj</b>" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Re_gistrigu..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Serĉo..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Gossip - Sendu Mesaĝo" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Kio kromnomo vi deziras uzi por tio kontakto?" + +#~ msgid "Version:" +#~ msgstr "Versio:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "_Konversacio" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Kio uzantonomo vi deziras uzi?" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Konektu" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Priskribo" + +#~ msgid "_Disconnect" +#~ msgstr "_Malkonektu" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Retpoŝto:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "Enigu la uzantonomon de la personon vi deziras sendi iu mesaĝo." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Konektilo:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Nomo:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Grupo" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "Krom_nomo:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Pasvorto:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "_Statoj Mesaĝoj" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "_Forigu" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "TTT-ejo:" + +#~ msgid "Preset status messages" +#~ msgstr "Savis stato mesaĝoj" + +#~ msgid "Preset status messages." +#~ msgstr "Savis stato mesaĝoj." + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "Konektu" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s aldonos al vi kontaktlisto." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "_Jabber ID de nova kontakto:" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Bonvolu enigu vin pasvorton:" + +#~ msgid "Contact Information for %s" +#~ msgstr "Kontakto Informaĵo por %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_Informo de Kontakto" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/Re_nomu kontakto" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/_Editu grupoj" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "_Konversacio" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Bonvolu enigu novan kromnomon por la kontakto\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Editu grupoj por %s" + +#~ msgid "Conversation Log" +#~ msgstr "Protokolo de Konversacio" + +#~ msgid "Registering account" +#~ msgstr "Registrigas konto" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Ekspliko:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "Editu favoratoj..." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Nomo:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossip - Babilo" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Informaĵo petis, Bonvolu atendi...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Ekzemplo: uzanto@jabber.org</span>" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - Babilo" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Ĉu havas konton en iu Jabber servilo?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Bonvolu enigu novan kromnomon por la kontakto\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Bonvolu enigu novan kromnomon por la kontakto\n" +#~ "%s" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Agordo Finitis" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip estas iu modernan programon por la Jabber sistemo de tujmesaĝilo.\n" +#~ "\n" +#~ "Ĉi tion asistanton asistos vi al konfiguri Gossip, kaj konekti vi alvia " +#~ "favorata servilo de Jabber.Por komenci, simple alklaki \"Antaŭen\"." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Por kotizi al avizojn de ĉeeston el la uzanto, iu peto estos sendi. Ĝis " +#~ "la peton estas elprovita, la uzanto ĉiam vidiĝi kiel nekontaktebla el " +#~ "viakontaktlisto." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "Ĉu grupoj vi deziras meti tiu kontakto?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "Krom_nomo:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "_Konektilo:" + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Registrigas konto" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "_Rimedero:" + +#~ msgid "Server:" +#~ msgstr "Servilo:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "TTT-ejo:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Bonvenon al Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Kio sistemo de tujmesaĝilo ĉu la kontakto uzas?" + +#~ msgid "What is your name?" +#~ msgstr "Kio estas vi nomo?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Kio servilo vi deziras uzi?" + +#~ msgid "What username do you use?" +#~ msgstr "Kio uzantonomo vi uzas?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Kio uzantonomo vi deziras uzi?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Ĉu grupoj vi deziras meti tiu kontakto?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Gossip nun estas deca konfigura por vi sistemo.\n" +#~ "Vi povus vian konfiguron pli poste, per selektus la Babilo->Konektu..." +#~ "menuero." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Jabber Konto" + +#~ msgid "Your Identity" +#~ msgstr "Vi Idento" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gossip - Babilo" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Ne" + +#~ msgid "_Search..." +#~ msgstr "_Serĉo..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Jes" + +#~ msgid "Be silent when away" +#~ msgstr "Silentu dum fora" + +#~ msgid "Be silent when busy" +#~ msgstr "Silentu dum okupita" + +#~ msgid "Height of main window" +#~ msgstr "Alteco de precipa fenestro" + +#, fuzzy +#~ msgid "The X position of the main window." +#~ msgstr "La iksa pozicio de la precipa fenestro." + +#, fuzzy +#~ msgid "The Y position of the main window." +#~ msgstr "La ipsilona pozicio de la precipa fenestro." + +#~ msgid "The width of the main window." +#~ msgstr "La larĝeco de la precipa fenestro." + +#~ msgid "Width of the main window" +#~ msgstr "Larĝeco de la precipa fenestro" + +#, fuzzy +#~ msgid "X position of main window" +#~ msgstr "Iksa pozicio de precipa fenestro" + +#, fuzzy +#~ msgid "Y position of main window" +#~ msgstr "Ipsilona pozicio de precipa fenestro" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, Tujmesaĝilo" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Kaŝu la precipa fenestro." + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "_Konto Informaĵo" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Stato" + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s estinta ne kontaktebla" + +#~ msgid "Available..." +#~ msgstr "Ricevebla..." + +#~ msgid "Busy..." +#~ msgstr "Okupita..." + +#~ msgid "Away..." +#~ msgstr "Fora..." + +#~ msgid "Contact _Information" +#~ msgstr "Kontakto _Informaĵo" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Grupbabilo" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "Kuniĝu _Grupbabilo..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "_Konektilo:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Informaĵo pri Babililo " + +#, fuzzy +#~ msgid "Could not open connection" +#~ msgstr "Sensukcese konekti" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Kio servilo vi deziras uzi?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>Konektu al servilo</b>" + +#~ msgid "Written by:" +#~ msgstr "Programadis per:" + +#~ msgid "Artwork by:" +#~ msgstr "Arto per:" + +#~ msgid "Translated by:" +#~ msgstr "Tradukis per:" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "_Konto Informaĵo" + +#~ msgid "%sChat - %s" +#~ msgstr "%sBabilo - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Montru Protoko_lo" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Versio:" + +#~ msgid "View Lo_g" +#~ msgstr "Vidu _Protokolo" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - Grupbabilo" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Aldonu kontakto" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "Kontakto _Informaĵo" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - Editu Grupbabiloj" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - Grupbabilo" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - Sendu Mesaĝo" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Gossip - Sendu Mesaĝo" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Agordoj" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - Sendu Mesaĝo" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Kio peta mesaĝo vi deziras sendi al %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Kontrolu vin konton informaĵon ĉu korekta." + +#~ msgid "%s wants to be notified of your presence." +#~ msgstr "%s deziras avizi da vin ĉeesto." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Vi malkonektis de ĉi servilo. Ĉu vi deziras rekonekti?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Kontrolu vin konton informaĵon ĉu korekta. Ankaŭ, la servilo eble estas " +#~ "malkonekti." + +#~ msgid "Edit List..." +#~ msgstr "Editu Listo..." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "Iu eraro okazintis dum babilinta kun %s." + +#~ msgid "Details:" +#~ msgstr "Detaloj:" + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "Iu eraron okazis dum babilis en la grupbabilo %s." + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Malsukcesis enveni la grupbabilo %s." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip penos uzi vin konton:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip penos registrigi la konton:" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "El:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - Ricevis Mesaĝo" + +#~ msgid "In reply to:" +#~ msgstr "En responda pri:" + +#~ msgid "To:" +#~ msgstr "Por:" + +#~ msgid "_Reply..." +#~ msgstr "_Respondu..." + +#~ msgid "_Send" +#~ msgstr "_Sendu" + +#~ msgid "C_onnect" +#~ msgstr "K_onektu" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Riceveblaj babilejoj</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Informaĵo de babilejo</b>" + +#~ msgid "Gossip - Join Group Chat" +#~ msgstr "Gossip - Kuniĝu Grupbabilo" + +#~ msgid "N_ickname:" +#~ msgstr "K_romnomo" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "" +#~ "Elektu iu favorata, aŭ enskribu kromnomo, la nomo de servilo, kaj la nomo " +#~ "de la babilejo por kuniĝi." + +#~ msgid "R_emove" +#~ msgstr "_Fortiru" + +#~ msgid "_Add" +#~ msgstr "_Aldonu" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Savis stata mesaĝoj</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Informaĵo ne havebla</i>" + +#~ msgid "Choose a Server" +#~ msgstr "Elektu Servilo" + +#~ msgid "Choose from list:" +#~ msgstr "Elektu el listo:" + +#~ msgid "Information about ..." +#~ msgstr "Informaĵo pri ..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "Ĉu kio servilo vi havas iu konto de Jabber?" + +#~ msgid "Sound" +#~ msgstr "Sono" + +#~ msgid "Use a different server" +#~ msgstr "Uzas iu diferenca servilo" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Kio petomesaĝo vi deziras sendi?" diff --git a/trunk/po/es.po b/trunk/po/es.po new file mode 100644 index 000000000..90f45634a --- /dev/null +++ b/trunk/po/es.po @@ -0,0 +1,1745 @@ +# translation of gossip.HEAD.po to español +# Copyright (C) 2003 Free Software Foundation +# This file is distributed under the same license as the Gossip package. +# +# Ezequiel Pérez <eazel7@yahoo.com.ar>, 2003. +# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2003, 2004, 2006. +# Maria Majadas <maria.majadas@hispalinux.es>, 2005. +# maria <maria.majadas@hispalinux.es>, 2005, 2006. +msgid "" +msgstr "" +"Project-Id-Version: gossip.HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-11-28 00:50+0100\n" +"Last-Translator: maria <maria.majadas@hispalinux.es>\n" +"Language-Team: español <traductores@es.gnome.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Mensajería instantánea" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Mensajería instantánea" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Siempre abrir una ventana de chat separada para chats nuevos." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Tema de la ventana de charla" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Lista separada por comas de idiomas que se usarán en la revisión ortográfica " +"(ej. en, fr, nl)." + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "Lista compacta de contactos" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Directorio predeterminado para seleccionar un avatar" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Activar ventana emergente cuando un contacto está disponible" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Activar sonido al ausentarse" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Activar sonido cuando se esté ocupado" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "Activar revisor ortográfico" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Ocultar la ventana principal" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Ocultar la ventana principal." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Abrir chats nuevos en ventanas separadas" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Mostrar avatares" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "Mostrar consejo sobre cómo cerrar la ventana principal" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Mostrar contactos no conectados" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Idiomas para revisión ortográfica" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "Último directorio del que fue elegido un avatar." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" +"El tema que se usará para mostrar la conversación en las ventanas de chat." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Usar emoticonos gráficos" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Usar sonidos de notificación" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "Usar tema para salas de chat" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" +"Indica si se debe o no revisar las palabras tecleadas con respecto a los " +"idiomas con los que quiere comprobarlo." + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Indica si debe o no debe convertir los emoticonos en imágenes gráficas en " +"las conversaciones." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Indica si debe reproducir un sonido cuando lleguen mensajes." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Indica si debe o no reproducir sonidos cuando se esté ausente." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Indica si debe o no reproducir sonidos cuando esté ocupado." + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "" +"Indica si debe o no mostrar una ventana emergente cuando un contacto vuelva " +"a estar disponible." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Indica si debe o no mostrar los avatares para los contactos en la lista de " +"contactos y ventanas de chat." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" +"Indica si debe o no mostrar los contactos que están desconectados en la " +"lista de contactos." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"Indica si debe o no mostrar un mensaje de diálogo sobre cómo cerrar la " +"ventana principal con el botón 'x' en la barra de título." + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "Indica si debe o no mostrar la lista de contactos en modo compacto." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "Indica si debe o no usar el tema para salas de chat." + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Desconectado" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Disponible" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Ocupado" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Ausente" + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "Mostrar y editar cuentas" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Grupo" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "Contacto" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Mostrar lista de contactos" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "Contexto" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "Unir a _favoritos" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Unirse a _nuevo…" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "Gestionar favoritos…" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Mostrar contactos _desconectados" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "_Acerca de" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Cuentas" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Añadir contacto…" + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Chat" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Contenido" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "_Editar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "Ay_uda" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "Mensaje _nuevo…" + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "Información _personal" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Preferencias" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Salir" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Sala" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "_Ver conversaciones previas" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Estado" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Mostrar lista de contactos" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip es software libre; puede redistribuirlo y /o modificarlo bajo los " +"términos de la Licencia Pública General tal como la publica la Free Software " +"Foundation; ya sea en la versión 2 de la Licencia, o (a su elección) " +"cualquier versión posterior." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip se distribuye con la esperanza de que le sea útil,pero SIN NINGUNA " +"GARANTÍA; sin incluso la garantía implícita de MERCANTILIDAD o IDONEIDAD " +"PARA UN PROPÓSITO PARTICULAR. Vea la Licencia Pública General de GNU para " +"más detalles." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"Debería haber recibido una copia de la Licencia Pública General GNU junto " +"con Gossip ; si no, escriba a la Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "Un cliente de mensajería instantánea para GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"María Majadas\n" +"Ezequiel Pérez\n" +"QA: Francisco Javier F. Serrador" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Disponible" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "<b>Sin cuenta seleccionada</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"Para añadir una nueva cuenta, puede pulsar en el botón 'Añadir' y una nueva " +"entrada será creada para que empiece a configurarla.\n" +"\n" +"Si no quiere añadir una cuenta, simplemente pulse en la cuenta que quiere " +"configurar en la lista de la izquierda." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "<b>No hay ninguna cuenta configurada</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" +"Para añadir una cuenta nueva, pulse en el botón 'Añadir' y se creará una " +"entrada nueva para que la configure." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Cuentas" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"Va a eliminar su cuenta %s\n" +"¿Seguro que quiere continuar?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Cualquier conversación o sala de chat asociada NO se eliminará si decide " +"continuar.\n" +"\n" +"Si decidiera volver a añadir la cuenta más tarde, estarán aún disponibles." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Cuenta</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Cuenta</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +msgid "<b>Settings</b>" +msgstr "<b>Configuración</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Crear" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"Para añadir una cuenta nueva, pulse en el botón de 'Añadir' y una se creará " +"una entrada nueva para que la configure.\n" +"\n" +"Si no quiere añadir una cuenta, simplemente pulse en la cuenta que quiere " +"configurar en la lista de la izquierda." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Nombre:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Tema:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "%s:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "_ID de sesión:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "Contra_seña:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "Re_curso:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "Usar encriptado (SS_L)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Puerto:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Servidor:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "propiedades de la cuenta jabber" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Desconectado" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Insertar emoticono" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Comprobar ortografía…" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Conectado" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Limpiar" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "Informa_ción del contacto" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "Cor_tar" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "In_vitar" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Insertar _emoticono" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Mensaje de invitación:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "Invitar" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Mover solapa a la _izquierda" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Mover solapa a la _derecha" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "Seleccione a quién quiere invitar:" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Le han invitado a unirse a una conferencia por chat." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "Añadir a _favoritos" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "_Cerrar" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Conversación" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "_Copiar" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Desacoplar solapa" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "Solapa _siguiente" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "_Pegar" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "Solapa _anterior" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "_Mostrar contactos" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Solapas" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Copiar la dirección del enlace" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Abrir enlace" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Mensaje nuevo" +msgstr[1] "Mensaje nuevo" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Salas de chat" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Conversación" +msgstr[1] "_Conversación" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Tecleando un mensaje." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "Con_tacto" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "_Grupo" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "Chat con un contacto" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "Informa_ción" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "Ver información del contacto" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "Re_nombrar" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "Renombrar" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "Editar grupos y nombre para este contacto" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Quitar" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "Quita el contacto" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "_Invitar a sala de chat" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "Invita a una sala de chat ya abierta" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "_Enviar archivo…" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "Envía un archivo" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "Ver conversaciones anteriores con este contacto" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Idioma" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Apariencia</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Sonido</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Comportamiento</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Estado</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Idiomas</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Opciones</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Visual</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>La lista de idiomas refleja sólo los idiomas para los cuales tiene un " +"diccionario instalado.</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" +"Los avatares son imágenes elegidas por el usuario que se muestran en la " +"lista de contactos" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "_Tema del chat:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Mostrar notificaciones cuando los contactos se _conecten" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Activar sonidos al _ausentarse" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Activar sonidos cuando se esté _ocupado" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "General" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Notificaciones" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Preferencias" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Mostrar _avatares" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Mostrar los _emoticonos como imágenes" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "Mostrar lista de contactos co_mpacta" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Revisión ortográfica" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "Temas" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "_Activar revisor ortográfico" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Abrir charlas nuevas en ventanas separadas" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Reproducir sonido cuando lleguen mensajes" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "_Usar para sala de chat" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Mensaje personalizado…" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Limpiar lista…" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "¿Está seguro que quiere vaciar la lista?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"Esto eliminará cualquier mensaje personalizado que haya añadido a las lista " +"de mensajes de estado predeterminada." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Vaciar lista" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Introduzca mensaje de estado:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Preconfiguraciones de mensajes de estado" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "_Añadir a la lista de mensajes de estado" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s se ha desconectado" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s se ha conectado" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Clásico" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Simple" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Limpiar" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Azul" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "No conectarse al inicio" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Mensajería instantánea Gossip" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Mensajería instantánea Gossip" + +#~ msgid "Normal" +#~ msgstr "Normal" + +#~ msgid "Joining" +#~ msgstr "Uniéndose" + +#~ msgid "Active" +#~ msgstr "Activo" + +#~ msgid "Inactive" +#~ msgstr "Inactivo" + +#~ msgid "Unknown" +#~ msgstr "Desconocido" + +#~ msgid "Error" +#~ msgstr "Error" + +#~ msgid "Moderator" +#~ msgid_plural "Moderators" +#~ msgstr[0] "Moderador" +#~ msgstr[1] "Moderadores" + +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "Participante" +#~ msgstr[1] "Participantes" + +#~ msgid "Visitor" +#~ msgid_plural "Visitors" +#~ msgstr[0] "Visitante" +#~ msgstr[1] "Visitantes" + +#~ msgid "No role" +#~ msgstr "Sin rol" + +#~ msgid "Owner" +#~ msgid_plural "Owners" +#~ msgstr[0] "Dueño" +#~ msgstr[1] "Dueños" + +#~ msgid "Administrator" +#~ msgid_plural "Administrators" +#~ msgstr[0] "Administrador" +#~ msgstr[1] "Administradores" + +#~ msgid "Member" +#~ msgid_plural "Members" +#~ msgstr[0] "Miembro" +#~ msgstr[1] "Miembros" + +#~ msgid "Outcast" +#~ msgid_plural "Outcasts" +#~ msgstr[0] "Paria" +#~ msgstr[1] "Parias" + +#~ msgid "No affiliation" +#~ msgstr "Sin afiliación" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "El apodo que ha elegido ya se está usando." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "" +#~ "La sala de chat a la que está intentando unirse requiere una contraseña." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "" +#~ "El servidor remoto de la conferencia no respondió en un tiempo razonable." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "" +#~ "No se pudo encontrar el servidor de conferencias al que intentó unirse." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "" +#~ "Ocurrió un error desconocido, compruebe si sus detalles son correctos." + +#~ msgid "Unavailable" +#~ msgstr "No disponible" + +#~ msgid "An unknown error occurred." +#~ msgstr "Ha ocurrido un error desconocido." + +#~ msgid "Connection refused." +#~ msgstr "Conexión rechazada." + +#~ msgid "Server address could not be resolved." +#~ msgstr "La dirección del servidor no se ha podido resolver." + +#~ msgid "Connection timed out." +#~ msgstr "La conexión expiró." + +#~ msgid "Authentication failed." +#~ msgstr "Falló la autenticación." + +#~ msgid "The username you are trying already exists." +#~ msgstr "El usuario que ha elegido ya existe." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "El usuario que ha elegido no es válido." + +#~ msgid "This feature is unavailable." +#~ msgstr "Esta característica no está disponible." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Esta característica no está autorizada." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "Ocurrió un error inesperado específico del protocolo." + +#~ msgid "new account" +#~ msgstr "Cuenta nueva" + +#~ msgid "Home" +#~ msgstr "Domicilio" + +#~ msgid "Couldn't send message!" +#~ msgstr "No se pudo enviar el mensaje." + +#~ msgid "Connection could not be opened" +#~ msgstr "La conexión no se pudo abrir" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Esta característica no está disponible." + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Esta característica no está autorizada." + +#~ msgid "Stop" +#~ msgstr "Parar" + +#~ msgid "Disconnect" +#~ msgstr "Desconectar" + +#~ msgid "Connect" +#~ msgstr "Conectar" + +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Se ha registrado con éxito la configuración de su cuenta nueva." + +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "Ahora debería poder conectarse a su cuenta nueva." + +#~ msgid "Failed to register your new account settings." +#~ msgstr "Falló al registrar la configuración de su cuenta nueva" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Se ha registrado con éxito la configuración de su cuenta nueva." + +#, fuzzy +#~ msgid "You should now be able to connect with your new password." +#~ msgstr "Ahora debería poder conectarse a su cuenta nueva." + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Introduzca la contraseña de su cuenta %s:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Introduzca un nombre nuevo para el grupo:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "No hay información disponible para este contacto." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Información solicitada, espere por favor…" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Quisiera añadirle a mi lista de contactos." + +#~ msgid "To summarize:" +#~ msgstr "Para resumir:" + +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "%d mensaje nuevo" +#~ msgstr[1] "%d mensajes nuevos" + +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "%d solicitud de subscripción" +#~ msgstr[1] "%d solicitudes de subscripción" + +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "%d solicitud de transferencia de archivo" +#~ msgstr[1] "%d solicitudes de transferencia de archivo" + +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "%d mensaje del servidor" +#~ msgstr[1] "%d mensajes del servidor" + +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "%d error" +#~ msgstr[1] "%d errores" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Si sale, usted perderá toda la información no leída." + +#~ msgid "Gossip is still running, it is just hidden." +#~ msgstr "Gossip todavía se está ejecutando, sólo está oculto." + +#~ msgid "Click on the notification area icon to show Gossip." +#~ msgstr "Pulse en el icono del área de notificación para mostrar Gossip." + +#~ msgid "You were about to quit!" +#~ msgstr "¡Ibas a cerrarlo!" + +#~ msgid "" +#~ "Since no system or notification tray has been found, this action would " +#~ "normally quit Gossip.\n" +#~ "\n" +#~ "This is just a reminder, from now on, Gossip will quit when performing " +#~ "this action unless you uncheck the option below." +#~ msgstr "" +#~ "Ya que no se ha encontrado ninguna bandeja de sistema o notificación, " +#~ "esta acción cerraría normalmente Gossip.\n" +#~ "\n" +#~ "Esto es solo un recordatoria, desde ahora, Gossip terminará al realizar " +#~ "esta acción a menos que desmarque la opción de abajo." + +#~ msgid "Edit Account _Details" +#~ msgstr "Editar _detalles de la cuenta" + +#~ msgid "Click to enlarge" +#~ msgstr "Pulsar para ampliar" + +#~ msgid "Word" +#~ msgstr "Palabra" + +#~ msgid "Select who would you like to invite to room:" +#~ msgstr "Seleccione a quién quiere invitar a esta sala:" + +#~ msgid "Select which room you would like to invite:" +#~ msgstr "Seleccione a qué sala quiere invitar:" + +#~ msgid "New message from %s" +#~ msgstr "Mensaje nuevo de %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "Su invitación ha sido rechazada" + +#~ msgid "Accept" +#~ msgstr "Aceptar" + +#~ msgid "Decline" +#~ msgstr "Rechazar" + +#~ msgid "Name" +#~ msgstr "Nombre" + +#~ msgid "Room" +#~ msgstr "Sala" + +#~ msgid "Auto Connect" +#~ msgstr "Autoconectar" + +#~ msgid "Information requested..." +#~ msgstr "Información solicitada…" + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "¿Quiere quitar este contacto de su lista de contactos?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Introduzca un nombre nuevo para el grupo:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Seleccionar" + +#~ msgid "Unsorted" +#~ msgstr "Desordenados" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server." +#~ msgstr "" +#~ "Ponga el apodo que quiere utilizar:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Puede obtener la información del contacto desde el servidor." + +#~ msgid "New file transfer request from %s" +#~ msgstr "Nueva solicitud de transferencia de archivo desde %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "La transferencia de archivos no está soportada por ambas partes." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Su ofrecimiento de transferencia de archivo ha sido rechazado." + +#~ msgid "The other user decided not to continue." +#~ msgstr "El otro usuario decidió no continuar." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "" +#~ "Ha ocurrido un error desconocido durante la transferencia del archivo." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s quiere mandarle un archivo." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Alguien quiere mandarle un archivo." + +#~ msgid "Select a file" +#~ msgstr "Seleccione un archivo" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Conectar" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "Invitó a %s a unirse en esta conferencia por chat." + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s ha puesto el tema" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "%s ha puesto el tema" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "%s ha puesto el tema" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Tema:" + +#~ msgid "Account" +#~ msgstr "Cuenta" + +#~ msgid "Conversation With" +#~ msgstr "Conversación con" + +#~ msgid "Date" +#~ msgstr "Fecha" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "Permite ejecutar varias instancias de la aplicación al mismo tiempo" + +#~ msgid "List the available accounts" +#~ msgstr "Listar las cuentas disponibles" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Cuenta a la cual conectarse al inicio" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "NOMBRE-DE-CUENTA" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "No puede usar --no-connect junto con --account" + +#~ msgid "No accounts available." +#~ msgstr "Ninguna cuenta está disponible." + +#~ msgid "Available accounts:" +#~ msgstr "Cuentas disponibles:" + +#~ msgid "[default]" +#~ msgstr "[predeterminada]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "No hay ninguna cuenta llamada «%s»." + +#~ msgid "Join" +#~ msgstr "Unirse" + +#~ msgid "Create" +#~ msgstr "Crear" + +#~ msgid "Chat Rooms" +#~ msgstr "Salas de chat" + +#~ msgid "Found %d conference rooms" +#~ msgstr "Se encontraron %d salas de conferencia" + +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Buscando salas de conferencia, espere por favor…" + +#~ msgid "Browsing cancelled!" +#~ msgstr "¡Búsqueda cancelada!" + +#~ msgid "Default" +#~ msgstr "Predeterminado" + +#~ msgid "Chat!" +#~ msgstr "Chat!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s quiere que le añada a su lista de contactos." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Alguien quiere que le añada a su lista de contactos." + +#~ msgid "Subscription request" +#~ msgstr "Solicitud de subscripción" + +#~ msgid "Show" +#~ msgstr "Mostrar" + +#~ msgid "Contact Information" +#~ msgstr "Información del contacto" + +#~ msgid "Subject: %s" +#~ msgstr "Asunto: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Sugerencias para la palabra" + +#~ msgid "New subscription request from %s" +#~ msgstr "Solicitud de subscripción de %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "¿Quiere añadir a esta persona a su lista de contactos?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "¿Quiere añadir a %s a su lista de contactos?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Introduzca la contraseña de su cuenta %s:" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "Iniciando sesión con: %s" + +#~ msgid "Remember Password?" +#~ msgstr "¿Desea recordar su contraseña?" + +#~ msgid "Do not show this again" +#~ msgstr "No mostrar esto otra vez" + +#~ msgid "Could not display the help contents." +#~ msgstr "No se pudo mostrar el contenido de la ayuda." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Seleccione su avatar" + +#~ msgid "No Image" +#~ msgstr "Sin imagen" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "El servidor parece no estar respondiendo." + +#~ msgid "Try again later." +#~ msgstr "Inténtelo otra vez más tarde." + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Chat" + +#~ msgid "Contact goes offline" +#~ msgstr "El contacto se desconecta" + +#~ msgid "Contact goes online" +#~ msgstr "El contacto se conecta" + +#~ msgid "Contact ID:" +#~ msgstr "ID del contacto:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "¿Quiere aceptar este archivo?" + +#~ msgid "File Transfer Request" +#~ msgstr "Solicitud de transferencia de archivo" + +#~ msgid "File name:" +#~ msgstr "Nombre de archivo:" + +#~ msgid "File size:" +#~ msgstr "Tamaño del archivo:" + +#~ msgid "Not supported yet" +#~ msgstr "Aún no soportado." + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Esta persona desea mandarle este archivo:" + +#~ msgid "Web site:" +#~ msgstr "Sitio web:" + +#~ msgid "_Accept" +#~ msgstr "_Aceptar" + +#~ msgid "_Deny" +#~ msgstr "_Denegar" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Grupos</b>" + +#~ msgid "Account:" +#~ msgstr "Cuenta:" + +#~ msgid "Browse:" +#~ msgstr "Buscar:" + +#~ msgid "Edit Favorite Room" +#~ msgstr "Editar sala favorita" + +#~ msgid "" +#~ "Enter the room name to join here or click on one or more rooms in the " +#~ "list." +#~ msgstr "" +#~ "Introduzca el nombre de la sala para unirse aquí o pulse en una o más " +#~ "salas de la lista." + +#~ msgid "Group Chat" +#~ msgstr "Grupo de chat" + +#~ msgid "Join New" +#~ msgstr "Unirse a nuevo" + +#~ msgid "Join room on start_up" +#~ msgstr "Unirse a la sala al _inicio" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "" +#~ "Unirse a esta sala de chat cuando Gossip se inicia y estás conectado." + +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Gestionar salas favoritas" + +#~ msgid "N_ame:" +#~ msgstr "_Nombre:" + +#~ msgid "Re_fresh" +#~ msgstr "_Recargar" + +#~ msgid "S_erver:" +#~ msgstr "_Servidor:" + +#~ msgid "" +#~ "This list represents all chat rooms hosted on the server you have entered." +#~ msgstr "" +#~ "Esta lista representa todas los chat que alberga el servidor al que ha " +#~ "entrado." + +#~ msgid "_Nickname:" +#~ msgstr "A_podo:" + +#~ msgid "_Room:" +#~ msgstr "_Sala:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>Acerca de</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Información del cliente</b>" + +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Grupos</b>" + +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Nombre</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Detalles personales</b>" + +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Subscripción</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "" +#~ "<span size=\"smaller\">Ejemplo: Miguel o usuario@servidor.org</span>" + +#~ msgid "Accou_nt:" +#~ msgstr "_Cuenta:" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "_Añadir contacto…" + +#~ msgid "Alia_s:" +#~ msgstr "Alia_s:" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Ch_at" +#~ msgstr "_Charlar" + +#~ msgid "Client:" +#~ msgstr "Cliente:" + +#~ msgid "Con_tact:" +#~ msgstr "_Contacto:" + +#~ msgid "Connect on S_tartup" +#~ msgstr "Conectar al _iniciar" + +#~ msgid "Contacts" +#~ msgstr "Contactos" + +#~ msgid "Country:" +#~ msgstr "País:" + +#~ msgid "Decide _Later" +#~ msgstr "_Decidir más tarde" + +#~ msgid "Edit Contact" +#~ msgstr "Editar contacto" + +#~ msgid "Edit Groups" +#~ msgstr "Editar grupos" + +#~ msgid "Email:" +#~ msgstr "Correo-e:" + +#~ msgid "ID:" +#~ msgstr "ID:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Si elige decidir más tarde se le preguntará la próxima vez que inicie una " +#~ "sesión." + +#~ msgid "Name:" +#~ msgstr "Nombre:" + +#~ msgid "OS:" +#~ msgstr "SO:" + +#~ msgid "Personal Details" +#~ msgstr "Detalles personales" + +#~ msgid "R_egister" +#~ msgstr "_Registrar" + +#~ msgid "Search" +#~ msgstr "Buscar" + +#~ msgid "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." +#~ msgstr "" +#~ "Seleccione los grupos donde quiere que aparezca este contacto, se puede " +#~ "seleccionar más de un grupo o ningún grupo." + +#, fuzzy +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Ponga el apodo que quiere utilizar:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Puede obtener la información del contacto desde el servidor." + +#~ msgid "Spell Checker" +#~ msgstr "Revisor ortográfico" + +#~ msgid "Subscription Request" +#~ msgstr "Solicitud de subscripción" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Sugerencias para la palabra:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Esto actúa como un filtro para la lista de contactos de abajo. Puede " +#~ "utilizar segmentos del nombre del contacto o del ID, por ejemplo, «jabber." +#~ "org» listará a todo el mundo usando ese servidor" + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Éste es el nombre que se usará en su lista para este contacto" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Este nombre se usará para identificarle en sus ventanas de chat" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Este nombre se usará para identificarle cuando sus contactos nuevos " +#~ "busquen sus detalles" + +#~ msgid "Use default name here from the contact's VCard." +#~ msgstr "Use aquí el nombre predeterminado de la tarjeta VCard del contacto." + +#~ msgid "Use system pro_xy" +#~ msgstr "Usar el pro_xy del sistema" + +#~ msgid "Version:" +#~ msgstr "Versión:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Ver conversaciones anteriores" + +#~ msgid "Which account do you want to use?" +#~ msgstr "¿Qué cuenta quiere usar?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Usted no está subscrito a este contacto." + +#~ msgid "_Connect" +#~ msgstr "_Conectar" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Descripción:" + +#~ msgid "_Disconnect" +#~ msgstr "_Desconectar" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Correo-e:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Introduzca abajo el nombre o el ID de contacto de la persona con la que " +#~ "quiera hablar:" + +#~ msgid "_For:" +#~ msgstr "_Para:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "_Nombre:" + +#~ msgid "_Group:" +#~ msgstr "_Grupo:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "A_podo:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "Contra_seña:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Mensaje nuevo" + +#~ msgid "_Retrieve" +#~ msgstr "_Recuperar" + +#~ msgid "_Subscribe" +#~ msgstr "_Suscribirse" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Sitio web:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "propiedades de la cuenta jabber" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "propiedades de la cuenta jabber" + +#~ msgid "Server" +#~ msgstr "Servidor" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "Group:" +#~ msgstr "Grupo:" + +#~ msgid "Nickname:" +#~ msgstr "Apodo:" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Ponga el alias que quiere usar: \n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "Puede obtener la información del contacto desde el servidor." + +#~ msgid "Web Site:" +#~ msgstr "Sitio web:" + +#~ msgid "_Forget" +#~ msgstr "_Olvidar" + +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "Pulse «Suscribir» para solicitar recibir su estado" diff --git a/trunk/po/eu.po b/trunk/po/eu.po new file mode 100644 index 000000000..d0df6c9ba --- /dev/null +++ b/trunk/po/eu.po @@ -0,0 +1,1905 @@ +# translation of gossip.HEAD.po to basque +# Copyright (C) 2003 THE gossip'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gossip package. +# Mikel Olasagasti <hey_neken@mundurat.net>, 2003. +# Iñaki Larrañaga Murgoitio <dooteo@euskalgnu.org>, 2003, 2004, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: eu\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-08-09 13:07+0000\n" +"Last-Translator: Iñaki Larrañaga Murgoitio <dooteo@euskalgnu.org>\n" +"Language-Team: Basque <itzulpena@euskalgnu.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Berehalako mezularitza" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Berehalako mezularitza" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Ireki beti berriketa berriak beste leiho batean" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Berriketako leihoaren gaia" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Komaz bereiztu erabiltzea nahi diren hizkuntzen zuzentzaile ortografikoen " +"zerrenda (adib. de, ca, eu)." + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "_Erakutsi kontaktu-zerrenda" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Direktorio lehenetsia avatar baten irudia hautatzeko" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Gaitu laster-leihoa kontaktua prest dagoenean" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Gaitu soinu aldentzean" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Gaitu soinua lanpetutakoan" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "Gaitu ortografia-egiaztapena" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Ezkutatu leiho nagusia" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Ezkutatu leiho nagusia." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Ireki berriketa berriak beste leiho batean" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Erakutsi avatar-ak" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Erakutsi konektatu gabeko kontaktuak" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Hizkuntzen zuzentzailea" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "Azken direktorioa, Avatar baten irudia aukeratu dena." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Gaia berriketa buruz bistaratzeko leihoan." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Erabili Smiley irudiak" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Erabili jakinarazpen-soinuak" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "Erabili gaia berriketa-gelan" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" +"Idatzitako hitzen (nahi dituzun hizkuntzen) zuzenketa ortografikoa landu edo " +"ez." + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Elkarrizketetan smiley-ak irudi grafikoetara bihurtuko dituen ala ez " +"adierazten du." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Mezuak iristean soinua joko duen ala ez adierazten du." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Kanpoan zaudenean soinua joko duen ala ez adierazten du." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Lanpetuta zaudenean soinua joko duen ala ez adierazten du." + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Kontaktua prest dagoenean laster-leihoa erakutsi edo ez." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Kontaktu-zerrendan eta berriketako leihoetan kontaktuen avatarrak erakutsi " +"edo ez." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" +"Kontaktu-zerrendan deskonektatuak dauden kontaktuak erakutsiko dituen ala ez " +"adierazten du." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Berriketa-geletan gaia erabili edo ez." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "Berriketa-geletan gaia erabili edo ez." + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Deskonektatuta" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Prest" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Lanpetuta" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Aldendua" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Erakutsi kontaktuak" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Taldea" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "Kontaktuak" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "E_zkutatu kontaktu-zerrenda" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "_Edukia" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "Elkartu _gogokoetan..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Elkartu _berrian..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +#, fuzzy +msgid "Manage Favorites..." +msgstr "Elkartu _gogokoetan..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Erakutsi _konektatu gabeko kontaktuak" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "Honi _buruz" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Kontuak" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "Gehitu _kontaktua..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Berriketa" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Edukia" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "_Editatu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "_Laguntza" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "Mezu _berria..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "_Informazio pertsonala" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Hobespenak" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "I_rten" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Gela" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "_Ikusi aurreko berriketak" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Egoera" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Erakutsi kontaktu-zerrenda" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip software librea da; birbana eta/edo alda dezakezu Software Foundation-" +"ek argitaratutako GNU Lizentzia Publiko Orokorraren 2. bertsioan, edo " +"(nahiago baduzu) beste berriago batean, jasotako baldintzak betez gero." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip erabilgarria izango delakoan banatzen da, baina, INOLAKO BERMERIK " +"GABE; era berean, ez da bermatzen beraren EGOKITASUNA MERKATURATZEKO edo " +"HELBURU PARTIKULARRETARAKO ERABILTZEKO. Argibide gehiago nahi izanez gero, " +"ikus GNU Lizentzia Publiko Orokorra." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"Gossip programarekin batera GNU Lizentzia Publiko Orokorraren kopia bat " +"jasoko zenuen; hala ez bada, idatzi hona: Free Software Foundation, Inc., 51 " +"Franklin Street, Fifth Floor, Boston, MA 02110-130159 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, berehalako mezularitzako bezero bat GNOMErako" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"Mikel Olasagasti <hey_neken@mundurat.net>\n" +"Iñaki Larrañaga Murgoitio <dooteo@euskalgnu.org>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Prest" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +#, fuzzy +msgid "Enable" +msgstr "Adibidea" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Kontua</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Kontua</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Kontuak" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"Zure %s kontua ezabatzera zoaz.\n" +"Ziur zaude ezabatzea nahi duzula?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Lekartutako berriketak eta gelak EZ dira ezabatuko aurrera jarraitzea " +"erabakitzen baduzu.\n" +"\n" +"Beranduago kontua gehitzea erabakitzen baduzu ere, haiek oraindik " +"erabilgarri egongo dira." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Kontua</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Kontua</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Egoera</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Berriketa" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Izena:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Gaia:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Adibidea: erabiltzailea@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "Saioko _IDa:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "_Pasahitza:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "_Baliabidea:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Erabili enkriptazioa (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Ataka:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Zerbitzaria:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Deskonektatuta" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Txertatu aurpegiera" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Egiaztatu ortografia..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Konektatuta" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Garbitu" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Berriketa" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "Kontaktuaren _informazioa" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "Ebak_i" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "_Gonbidatu" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Txertatu _aurpegiera" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Idatzi egoerako mezua:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +#, fuzzy +msgid "Invite" +msgstr "_Gonbidatu" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Lerrotu fitxa e_zkerrera" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Lerrotu fitxa e_skuinera" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Berriketako konferentzi batera gonbidatu zaituzte." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "_Gehitu gogokoei" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "It_xi" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Berriketa" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "_Kopiatu" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "E_zabatu fitxa" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Hurrengo fitxa" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "_Itsatsi" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Aurreko fitxa" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "_Erakutsi kontaktuak" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Fitxak" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Kopiatu estekaren helbidea" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Ireki esteka" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A, %Y %B %d" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Mezu berria" +msgstr[1] "Mezu berria" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "Berriketa-gela" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Berriketa" +msgstr[1] "_Berriketa" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Mezua idazten." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "Kontaktuak" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Taldea" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "Egin berriketa kontaktuarekin" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "Kontaktuaren _informazioa" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "Ikusi kontaktuaren informazioa" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "Al_datu izena" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Al_datu izena" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "Editatu kontaktuaren taldeak" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "_Remove" +msgstr "_Kendu kontaktua" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "Kendu kontaktua" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "_Gonbidatu berriketa-gelara" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "Gonbidatu unean irekitako berriketa-gelara" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "_Bidali fitxategia..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "Bidali fitxategia" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "Ikusi kontaktuaren aurreko berriketak" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Hizkuntza" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Itxura</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Audioa</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Portaera</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Konexioa</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Hizkuntzak</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Aukerak</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Bisuala</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "<small>Hizkuntzen zerrendak instalatutako hiztegiei dagokie.</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" +"Avatarrak, erabiltzaileak aukeratutako irudiak kontaktuen zerrendan agertzen " +"direnak dira" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "Berriketa-_gaia:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Bistaratu jakinarazpenak kontaktuak _konektatzen direnean" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Gaitu soinuak _aldentzean" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Gaitu soinuak _lanpetutakoan" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Orokorra" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Kakinarazpenak" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Hobespenak" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Erakutsi _avatarrak" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Erakutsi _aurpegierak irudi gisa" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Erakutsi kontaktu-zerrenda" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Zuzentzailea" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "_Gaitu ortografia-egiaztapena" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Ireki berriketa berriak beste leihoetan" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Soinua jo mezuak iristean" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "_Erabili berriketa-geletan" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Mezu pertsonalizatua..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Garbitu zerrenda..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Ziur zaude zerrenda hustu nahi duzula?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"Mezuen aurre-ezarritako egoeraren zerrendan gehitutako mezu pertsonalizatuak " +"ezabatuko ditu." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Garbitu zerrenda" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Idatzi egoerako mezua:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Egoera-mezu pertsonalizatuak" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "_Gehitu egoerako mezuen zerrendari" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s deskonektatu da" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s konektatu da" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Klasikoa" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Soila" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Garbia" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Urdina" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Ez konektatu abiatzean" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Gossip berehalako mezularitza" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Gossip berehalako mezularitza" + +#~ msgid "Normal" +#~ msgstr "Normala" + +#~ msgid "Joining" +#~ msgstr "Elkartu" + +#~ msgid "Active" +#~ msgstr "Aktibo" + +#~ msgid "Inactive" +#~ msgstr "Inaktibo" + +#~ msgid "Unknown" +#~ msgstr "Ezezaguna" + +#~ msgid "Error" +#~ msgstr "Errorea" + +#, fuzzy +#~ msgid "No role" +#~ msgstr "Normala" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Kakinarazpenak" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "Hautatutako goitizena jadanik beste batek darabil." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "Elkartzea nahi duzun berriketako gelak pasahitza behar du." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "" +#~ "Urruneko konferentzirako zerbitzariak ez du erantzun denboraldi handi " +#~ "batean." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "Elkartzea nahi duzun konferentziarako zerbitzaria ez da aurkitu." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Errore ezezaguna gertatu da, egiaztatu xehetasunak ongi daudela." + +#, fuzzy +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "Elkartu berriketa-gelarekin" + +#~ msgid "Unavailable" +#~ msgstr "Ez dago prest" + +#~ msgid "An unknown error occurred." +#~ msgstr "Errore ezezaguna gertatu da." + +#~ msgid "Connection refused." +#~ msgstr "Konexioa ukatu da." + +#~ msgid "Server address could not be resolved." +#~ msgstr "Zerbitzariaren helbidea ezin izan da ebatzi." + +#~ msgid "Connection timed out." +#~ msgstr "Konexioa denboraz kanpo." + +#~ msgid "Authentication failed." +#~ msgstr "Autentifikazioak huts egin du." + +#~ msgid "The username you are trying already exists." +#~ msgstr "Erabiltzaile-izena beste batek darabil." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "Erabiltzaile-izena ez da baliozkoa." + +#~ msgid "This feature is unavailable." +#~ msgstr "Funtzio hau ez dago erabilgarri." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Funtzio honek ez du baimenik." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "Ustegabeko protokolo zehatzeko errorea gertatu da." + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Kontu berria" + +#~ msgid "Home" +#~ msgstr "Etxea" + +#~ msgid "Couldn't send message!" +#~ msgstr "Ezin izan da mezua bidali." + +#~ msgid "Connection could not be opened" +#~ msgstr "Ezin izan da konexioa ireki" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Funtzio hau ez dago erabilgarri." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Erregistratzea" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Funtzio honek ez du baimenik." + +#~ msgid "Stop" +#~ msgstr "Gelditu" + +#~ msgid "Disconnect" +#~ msgstr "Deskonektatu" + +#~ msgid "Connect" +#~ msgstr "Konektatu" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Huts egin du zure kontu berriaren ezarpenak erregistratzean" + +#, fuzzy +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "Ezin duzu '--no-connect together' erabili '--account' aukerarekin" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Huts egin du zure kontu berriaren ezarpenak erregistratzean" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Sartu zure konturaren pasahitza:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Sartu zure konturaren pasahitza:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Sartu izen berria taldearentzat:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Ez dago kontaktuaren informaziorik eskuragarri." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Informazioa eskatuta, itxaron..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Nire kontaktu-zerrendara gehitu nahi zaitut." + +#~ msgid "To summarize:" +#~ msgstr "Laburtzeko:" + +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "Mezu berri %d" +#~ msgstr[1] "%d mezu berri" + +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Harpidetza eskaera %d" +#~ msgstr[1] "%d harpidetza eskaera" + +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "Fitxategi-transferentziaren eskaera %d" +#~ msgstr[1] "Fitxategi-transferentziaren %d eskaera" + +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "Zerbitzariaren mezu %d" +#~ msgstr[1] "Zerbitzariaren %d mezu" + +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "Errore %d" +#~ msgstr[1] "%d errorea" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Irtetzen bazara, irakurri gabeko informazio guztia galduko duzu." + +#~ msgid "Edit Account _Details" +#~ msgstr "Editatu kontuaren _informazioa" + +#~ msgid "Click to enlarge" +#~ msgstr "Egin klik handitzeko" + +#~ msgid "Word" +#~ msgstr "Hitza" + +#~ msgid "New message from %s" +#~ msgstr "%s-(e)tik mezu berria" + +#~ msgid "Your invitation has been declined" +#~ msgstr "Uko egin dio zure gonbiteari" + +#~ msgid "Accept" +#~ msgstr "Onartu" + +#~ msgid "Decline" +#~ msgstr "Ukatu" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Izena:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Gela" + +#~ msgid "Auto Connect" +#~ msgstr "Konektatu automatikoki" + +#~ msgid "Information requested..." +#~ msgstr "nformazioa eskatuta..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "Kontaktua ezabatu nahi duzu zure kontaktu-zerrendatik?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Sartu izen berria taldearentzat:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Hautatu" + +#~ msgid "Unsorted" +#~ msgstr "Sailkatu gabe" + +#~ msgid "New file transfer request from %s" +#~ msgstr "%s(e)k fitxategi-transferentzia berria eskatu du" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "Bi alderdiek ez dute fitxategi-transferentzia onartzen." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Zure fitxategi-transferentziaren eskaintza ukatu egin da." + +#~ msgid "The other user decided not to continue." +#~ msgstr "Beste erabiltzaileak ez jarraitzea erabaki du." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Errore ezezaguna gertatu da fitxategia transferitzean." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s(e)k fitxategi bat bidaltzea nahi dizu." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Norbaitek fitxategi bat bidaltzea nahi dizu." + +#~ msgid "Select a file" +#~ msgstr "Hautatu fitxategia" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Konektatzen" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Gelditu konektatzea" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "Gonbidatu %s berriketako konferentzia honetara elkartzeko." + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s(e)k gaia ezarri du" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Zein goitizen erabili nahi duzu kontaktu honentzat?" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "%s(e)k gaia ezarri du" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "%s(e)k gaia ezarri du" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Gaia:" + +#~ msgid "Account" +#~ msgstr "Kontua" + +#~ msgid "Conversation With" +#~ msgstr "Berriketa honekin" + +#~ msgid "Date" +#~ msgstr "Data" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "Baimendu aplikazioaren hainbat instantzia aldi berean exekutatzeko" + +#~ msgid "List the available accounts" +#~ msgstr "Zerrendatu kontu eskuragarriak" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Zein konturekin konektatu abiatzean" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "KONTU-IZENA" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "Ezin duzu '--no-connect together' erabili '--account' aukerarekin" + +#~ msgid "No accounts available." +#~ msgstr "Ez dago konturik erabilgarri." + +#~ msgid "Available accounts:" +#~ msgstr "Kontu eskuragarriak:" + +#~ msgid "[default]" +#~ msgstr "[lehenetsia]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Ez dago '%s' izeneko konturik." + +#~ msgid "Join" +#~ msgstr "Elkartu" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Data" + +#~ msgid "Chat Rooms" +#~ msgstr "Berriketa-gela" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Informazioa eskatuta, itxaron..." + +#~ msgid "Default" +#~ msgstr "Lehenetsia" + +#~ msgid "Chat!" +#~ msgstr "Berriketa" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s(e)k zure kontaktu-zerrendan gehitzea nahi du." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Norbaitek zure kontaktu-zerrendan gehitzea nahi du." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Harpidetza eskaera" + +#~ msgid "Show" +#~ msgstr "Erakutsi" + +#~ msgid "Contact Information" +#~ msgstr "Kontaktuaren informazioa" + +#~ msgid "Subject: %s" +#~ msgstr "Gaia: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Hitzari buruzko iradokizuna" + +#~ msgid "New subscription request from %s" +#~ msgstr "Harpidetzaren eskaera %s(e)tik" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Zure kontaktu-zerrendan pertsona hau gehitzea nahi duzu?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Zure kontaktu-zerrendan %s gehitzea nahi duzu?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Sartu zure %s kontuaren pasahitza" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "Hasi saioa honekin: %s" + +#~ msgid "Remember Password?" +#~ msgstr "Gogoratu pasahitza?" + +#~ msgid "Could not display the help contents." +#~ msgstr "Ezin izan da laguntzako edukia bistaratu." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Hautatu zure avatar irudia" + +#~ msgid "No Image" +#~ msgstr "Irudirik gabe" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Badirudi zerbitzariak ez dela ari erantzuten." + +#~ msgid "Try again later." +#~ msgstr "Saiatu geroago." + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Berriketa" + +#~ msgid "Contact goes offline" +#~ msgstr "Kontaktua lineaz kanpo dago" + +#~ msgid "Contact goes online" +#~ msgstr "Kontaktua lineaz kanpo dago" + +#~ msgid "Contact ID:" +#~ msgstr "Kontaktuaren IDa:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Fitxategi hau onartu nahi duzu?" + +#~ msgid "File Transfer Request" +#~ msgstr "Fitxategi-transferentziaren eskaera" + +#~ msgid "File name:" +#~ msgstr "Fitxategi-izena:" + +#~ msgid "File size:" +#~ msgstr "Fitxategiaren tamaina:" + +#~ msgid "Not supported yet" +#~ msgstr "Onartu gabe oraindik" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Pertsona honek fitxategi hau bidali nahi dizu: hau" + +#~ msgid "Web site:" +#~ msgstr "Web gunea:" + +#~ msgid "_Accept" +#~ msgstr "_Onartu" + +#~ msgid "_Deny" +#~ msgstr "_Ukatu" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Aukerak</b>" + +#~ msgid "Account:" +#~ msgstr "Kontua:" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Editatu berriketa-gela" + +#~ msgid "Group Chat" +#~ msgstr "Berriketa-gela" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "Elkartu _berrian..." + +#~ msgid "Join room on start_up" +#~ msgstr "Elkartu gelarekin _abiatzean" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "" +#~ "Elkartu berriketa-gelareki Gossip abiatzean eta konektatzen zarenean" + +#, fuzzy +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Kudeatu gelak" + +#~ msgid "N_ame:" +#~ msgstr "_Izena:" + +#~ msgid "S_erver:" +#~ msgstr "_Zerbitzaria:" + +#~ msgid "_Nickname:" +#~ msgstr "_Goitizena:" + +#~ msgid "_Room:" +#~ msgstr "_Gela:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>Honi buruz</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Bezeroaren informazioa</b>" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Honi buruz</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Hizkuntzak</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Xehetasun pertsonalak</b>" + +#~ msgid "<b>Status</b>" +#~ msgstr "<b>Egoera</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Aukerak</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "" +#~ "<span size=\"smaller\">Adibidea: Mikel edo erabiltzailea@zerbitzaria.org</" +#~ "span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Kontua:" + +#~ msgid "Add Contact" +#~ msgstr "Gehitu kontaktua" + +#~ msgid "Avatar:" +#~ msgstr "Avatar-a:" + +#~ msgid "Ch_at" +#~ msgstr "_Berriketa" + +#~ msgid "Client:" +#~ msgstr "Bezeroa:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "Kontaktuak" + +#~ msgid "Connect on S_tartup" +#~ msgstr "Konektatu _abiatzean" + +#~ msgid "Contacts" +#~ msgstr "Kontaktuak" + +#~ msgid "Country:" +#~ msgstr "Herrialdea:" + +#~ msgid "Decide _Later" +#~ msgstr "Erabaki _beranduago" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "Gehitu kontaktua" + +#~ msgid "Edit Groups" +#~ msgstr "Editatu taldeak" + +#~ msgid "Email:" +#~ msgstr "Helb. elek.:" + +#~ msgid "ID:" +#~ msgstr "IDa:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Geroago erabakitzea hautatu baduzu, saioa hasten duzun hurrengo aldian " +#~ "galdetuko zaizu." + +#~ msgid "Name:" +#~ msgstr "Izena:" + +#~ msgid "OS:" +#~ msgstr "SE:" + +#~ msgid "Personal Details" +#~ msgstr "_Xehetasun pertsonalak" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Erregistratzea" + +#~ msgid "Search" +#~ msgstr "Bilatu" + +#~ msgid "Spell Checker" +#~ msgstr "Zuzentzailea" + +#~ msgid "Subscription Request" +#~ msgstr "Harpidetza eskaera" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Hitzaren iradokizuna:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Honek iragazki gisa funtzionatzen du azpiko zerrendan. Kontaktuaren izen " +#~ "edo Id zatiak erabil ditzakezu, adibidez, \"jabber.org\" sarrerarekin " +#~ "zerbitzari hori darabiltzen guztiak zerrendatuko dira." + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Izen hau erabiliko da zure kontaktu-zerrendan" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Izen hau elkarrizketa-leihoetan zu identifikatzeko erabiliko da." + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Izen hau zu identifikatzeko erabiliko da kontaktu berriek zure " +#~ "xehetasunak begiratzean." + +#~ msgid "Use system pro_xy" +#~ msgstr "Erabili sistemaren pro_xy-a" + +#~ msgid "Version:" +#~ msgstr "Bertsioa:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Ikusi aurreko berriketak" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Zein kontu erabili nahi duzu?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Ez zaude kontaktu honetara harpidetua." + +#~ msgid "_Connect" +#~ msgstr "_Konektatu" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Azalpena:" + +#~ msgid "_Disconnect" +#~ msgstr "_Deskonektatu" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Helb. elek.:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "Sartu berriketaren jabearen izena edo kontaktuaren IDa:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Ataka:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "_Izena:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Taldea:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Goitizena:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Pasahitza:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Mezu berria" + +#~ msgid "_Subscribe" +#~ msgstr "_Harpidetu" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Web gunea:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "Editatu kontuaren _informazioa" + +#~ msgid "Edit" +#~ msgstr "Editatu" + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "Agian okerreko atakarekin konektatzen saiatzen ari zara?" + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "Agian zerbitzua ez da exekutatzen ari?" + +#~ msgid "Check your connection details." +#~ msgstr "Egiaztatu konexioaren xehetasunak." + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "Agian zerbitzaria ez da zerbitzu hau exekutatzen ari." + +#~ msgid "Check your username and password are correct." +#~ msgstr "Egiaztatu bai erabiltzaile-izena bai pasahitza zuzenak direla." + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s zure kontaktu-zerrendara gehituko da." + +#~ msgid "%s ID of new contact:" +#~ msgstr "Kontaktu berriaren %s IDa:" + +#~ msgid "Example: %s" +#~ msgstr "Adibidez: %s" + +#~ msgid "Show accounts and pending connections" +#~ msgstr "Erakutsi kontuak eta konektatzeko zai daudenak" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "Ez duzu konturik konfiguratuta Berehalako Mezularitzan." + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "" +#~ "Hurrengoan, kontuaren informazioaren leihoa agertzen zaizunean, ezarri " +#~ "zure datuak." + +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "" +#~ "Sartu gonbite-mezua honentzako:\n" +#~ "%s" + +#~ msgid "Favourite" +#~ msgstr "Gogokoa" + +#~ msgid "Rename contact" +#~ msgstr "Aldatu kontaktuaren izena" + +#~ msgid "Re_name group" +#~ msgstr "A_ldatu taldearen izena" + +#~ msgid "Rename group" +#~ msgstr "Aldatu taldearen izena" + +#~ msgid "_Edit Groups" +#~ msgstr "_Editatu taldeak" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Sartu goitizen berria kontaktuarentzat\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Editatu taldeak honentzako: %s" + +#~ msgid "Registering account" +#~ msgstr "Kontua erregistratzen" + +#~ msgid "Add to _favourites" +#~ msgstr "Gehitu _gogokoei" + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "" +#~ "Pertsonalizatu zure goitizena, zerbitzaria eta elkartzea nahi duzun gela." + +#~ msgid "Edit your chat room details:" +#~ msgstr "Editatu gelaren xehetasunak:" + +#~ msgid "Na_me:" +#~ msgstr "Ize_na:" + +#~ msgid "New Chat Room" +#~ msgstr "Berriketa-gela berria" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "" +#~ "Hautatu gordetako gela azpiko aurre-ezarpen erabilgarrietatik eta egin " +#~ "klik 'Elkartu' berriketarekin hasteko." + +#~ msgid "Save _this chat room" +#~ msgstr "Gorde gela _hau" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Informazioa eskatuta, itxaron...</b>" + +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Adibidea:</span>" + +#~ msgid "Account Name" +#~ msgstr "Kontuaren izena" + +#~ msgid "Add a contact" +#~ msgstr "Gehitu kontaktu bat" + +#~ msgid "Connection Details" +#~ msgstr "Konexioaren xehetasunak" + +#~ msgid "Contact information" +#~ msgstr "Kontaktuaren informazioa" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Baduzu konturik ezarrita zerbitzariren batean?" + +#~ msgid "Enter a name for this account" +#~ msgstr "Sartu kontuaren izena" + +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "Sartu ataka, kontu honen konexioarekin erabilitakoa" + +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "Sartu zerbitzaria, kontuaren konexioan erabilitakoa" + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Sartu kontaktuaren erabiltzailearen IDa:" + +#~ msgid "Enter your real name here" +#~ msgstr "Sartu zure benetako izena" + +#~ msgid "Finished" +#~ msgstr "Bukatuta" + +#~ msgid "For increased security, enable this option" +#~ msgstr "Segurtasuna handitzeko, gaitu aukera hau" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip Jabber berehalako mezularitza sistemako bezero moderno bat da.\n" +#~ "\n" +#~ "Laguntzaile honek Gossip konfiguratzen eta zure Jabber zerbitzari " +#~ "gogokoenera konektatzen lagunduko dizu.\n" +#~ "\n" +#~ "Hasteko, klikatu \"Aurrera\"-n." + +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option" +#~ msgstr "" +#~ "Sareko beste ordenagailu batek interneterako 'proxy' lanak egiten baditu, " +#~ "gaitu aukera hau." + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "Konexioaren xehetasunak zehaztu behar badituzu, bestelako zerbitzari edo " +#~ "ataka bat, hemen konfigura dezakezu:" + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Erabiltzaile baten presentzi-jakinarazpenera harpidetzeko, eskaera bat " +#~ "bidaliko zaio. Eskaera onartu bitartean kontaktua \"Deskonektatuta\" " +#~ "bezala agertuko da kontaktu-zerrendan." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "Zein taldetan jarri nahi duzu kontaktu hau?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber IDa:" + +#~ msgid "" +#~ "Leave this blank if you don't want your password stored on a public " +#~ "machine. If you decide to do this, you will be prompted each time you " +#~ "connect for a password" +#~ msgstr "" +#~ "Utzi hutsik zure pasahitza ordenagailu publiko batean gordetzea nahi ez " +#~ "baduzu. Horrela izatea nahi baduzu, konektatzen zaren bakoitzen pasahitza " +#~ "eskatuko zaizu." + +#~ msgid "Nickname:" +#~ msgstr "Goitizena:" + +#~ msgid "Port:" +#~ msgstr "Ataka:" + +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "Sakatu 'Harpidetu' beraien egoera jasotzea eskatzeko." + +#~ msgid "Registering Account" +#~ msgstr "Kontua erregistratzen" + +#~ msgid "Resource:" +#~ msgstr "Baliabidea:" + +#~ msgid "Sending request" +#~ msgstr "Eskaera bidaltzen" + +#~ msgid "Server:" +#~ msgstr "Zerbitzaria:" + +#~ msgid "Web Site:" +#~ msgstr "Web gunea:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Ongi etorri Gossip-era" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Zein berehalako·mezularitza sistema erabiltzen du kontaktuak?" + +#~ msgid "What is your name?" +#~ msgstr "Zein da zure izena?" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "Zein izen erabiltzea nahi duzu kontu hau identifikatzeko?\n" +#~ "\n" +#~ "Izen hau zerbitzuaren hornitzailearekin zerikusia izan dezake, adibidez " +#~ "<b>Google</b>." + +#~ msgid "What password do you want to use?" +#~ msgstr "Zein pasahitz erabili nahi duzu?" + +#~ msgid "What username do you use?" +#~ msgstr "Zein erabiltzaile-izen erabiltzen duzu?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Zein erabiltzaile-izen erabili nahi duzu?" + +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Zein konturi nahi diozu gehitu kontaktu hau?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Zure kontuaren ezarpenak alda ditzakezu, Editatu->Kontuak menua hautatuz." + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "" +#~ "Konexioaren izena ezarri behar duzu, adibidez <b>ETxea</b> edo " +#~ "<b>Eramangarria</b>" + +#~ msgid "Your Account" +#~ msgstr "Zure kontua" + +#~ msgid "Your Identity" +#~ msgstr "Zure nortasuna" + +#~ msgid "Your new account has now been set up." +#~ msgstr "Zure kontu berria konfiguratu da." + +#~ msgid "_Forget" +#~ msgstr "_Ahaztu" + +#~ msgid "_Group Chat" +#~ msgstr "_Berriketa-taldea" + +#~ msgid "_No" +#~ msgstr "E_z" + +#~ msgid "_Search..." +#~ msgstr "_Bilatu..." + +#~ msgid "_Yes" +#~ msgstr "_Bai" diff --git a/trunk/po/fi.po b/trunk/po/fi.po new file mode 100644 index 000000000..80271fdea --- /dev/null +++ b/trunk/po/fi.po @@ -0,0 +1,2081 @@ +# This file is distributed under the same license as the gossip package. +# Copyright (C) 2006 Samuli Seppänen and Henna Nykänen. +# +# Ilkka Tuohela <hile@iki.fi>, 2006. +# Samuli Seppänen & Henna Nykänen <sjsepp@utu.fi>, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-10-17 20:50+0300\n" +"Last-Translator: Samuli Seppänen & Henna Nykänen <sjsepp@utu.fi>\n" +"Language-Team: <en@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Pikaviestiohjelma" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Pikaviestiohjelma" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Avaa aina uusi ikkuna uusille keskusteluille." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Keskusteluikkunan teema" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Pilkuilla erotettu luettelo kielentarkastuksessa käytettävistä kielistä " +"(esim. en, fr, nl)." + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "Pienikokoinen tuttavalista" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Oletushakemisto, josta avatar-kuvat haetaan" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Näytä ponnahdusikkuna, kun yhteystieto on linjoilla" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Käytä ääniä poissa-tilassa" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Käytä ääniä varattu-tilassa" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "Ota käyttöön oikeinkirjoituksen tarkistus" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Piilota pääikkuna" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Piilota pääikkuna." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Avaa uusi ikkuna uusille keskusteluille" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Näytä avatar-kuvat" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "Näytä vihje pääikkunan sulkemisesta" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Näytä linjoilta poissa olevat tuttavat" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Kielentarkastuksessa käytetyt kielet" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "Viimeisin hakemisto, josta avatar-kuva oli valittu." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Keskusteluikkunoissa käytettävä teema." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Käytä hymiökuvakkeita" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Käytä merkkiääniä" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "Käytä teemaa keskusteluhuoneille" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "Tarkistetaanko oikeinkirjoitus haluamiasi kieliä vasten." + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Muunnetaanko hymiöt graafisiksi?" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Annetaanko viestien saapuessa merkkiääni?" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Käytetäänko merkkiääniä Poissa-tilassa?" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Käytetäänkö merkkiääniä Varattu-tilassa?" + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Näytetäänkö ponnahdusikkuna, kun yhteystieto tulee linjoille." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Näytetäänkö yhteystiedoille yhteystietolistassa ja keskusteluikkunoissa " +"avatarit." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Näytetäänkö tuttavalistassa myös linjoilta poissa olevat tuttavat?" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"Näytetäänkö viesti-ikkuna pääikkunan sulkemisesta suljettaessa ikkuna X-" +"napista." + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "Näytetäänkö tuttavalista pienikokoisena." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "Käytetäänkö teemaa keskusteluhuoneille." + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Poissa linjoilta" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Tavoitettavissa" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Varattu" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Poissa" + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "Näytä ja muokkaa tilejä" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Ryhmä" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "Tuttavat" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Näytä tuttavalista" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "Yhteys" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "Liity _suosikkeihin" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Liity _uuteen..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +#, fuzzy +msgid "Manage Favorites..." +msgstr "Hallitse keskusteluhuoneita..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Näytä _poissa linjoilta olevat tuttavat" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "_Tietoja" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Käyttäjätilit" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "Lisää _tuttava..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Keskustele" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Sisältö" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "_Muokkaa" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "O_hje" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Uusi viesti..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "_Henkilötiedot" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Asetukset" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Lopeta" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Huone" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "_Näytä edelliset keskustelut" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Tila" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Näytä tuttavalista" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip 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." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip 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." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"You should have received a copy of the GNU General Public License along with " +"Gossip; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "Gnomen pikaviestiohjelma" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"Samuli Seppänen ja Henna Nykänen, 2006.\n" +"Ilkka Tuohela, 2006.\n" +"\n" +"http://www.gnome.fi/" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Tavoitettavissa" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +#, fuzzy +msgid "Enable" +msgstr "Esimerkki" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "<b>Tiliä ei ole valittu</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"Jos haluat lisätä uuden tilin, napsauta \"Lisää\"-painiketta ja määrittele " +"tilin asetukset listaan lisätystä kohdasta.\n" +"\n" +"Jos et halua lisätä uutta tiliä, muokkaa olemassaolevaa tiliä napsauttamalla " +"sen kohtaa vasemmalla olevasta listasta." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Tilejä ei ole määritelty</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" +"Jos haluat lisätä uuden tilin, voit napsauttaa \"Lisää\"-painiketta ja uusi " +"kohta lisätään, josta voit määritellä tilin asetukset." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Käyttäjätilit" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"Olet poistamassa %s-tilisi!\n" +"Haluatko varmasti jatkaa?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Liitettyjä keskusteluja ja keskusteluhuoneita ei poisteta, jos päätät " +"jatkaa.\n" +"\n" +"Jos päätät myöhemmin lisätä tilin takaisin, ovat vanhat keskustelut ja " +"keskusteluhuoneet jälleen käytettävissä." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Tili</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Tili</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +msgid "<b>Settings</b>" +msgstr "<b>Asetukset</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Keskustele!" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"Jos haluat lisätä uuden tilin, napsauta \"Lisää\"-painiketta ja määrittele " +"tilin asetukset listaan lisätystä kohdasta.\n" +"\n" +"Jos et halua lisätä uutta tiliä, muokkaa olemassaolevaa tiliä napsauttamalla " +"sen kohtaa vasemmalla olevasta listasta." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Nimi:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Aihe:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "%s:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Esimerkki: seppo@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "_Käyttäjätunnus:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "S_alasana:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "Res_urssi:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "Käytä salausta (SS_L)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Portti:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "Pal_velin:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "jabber-tilin asetukset" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Ei yhteyttä" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Lisää hymiö" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Tarkasta oikeinkirjoitus..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Yhdistetty" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Tyhjennä" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Keskustelu" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "_Yhteystiedot" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "_Leikkaa" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "_Kutsu" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Lisää _hymiö" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Kutsuviesti:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "Kutsu" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Siirrä välilehti _vasemmalle" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Siirrä välilehti _oikealle" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "Valitse ketkä haluat kutsua:" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Olet saanut kutsun ryhmäkeskusteluun." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "Lisää _suosikkeihin" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "_Sulje" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Keskustelu" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "_Kopioi" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Irrota välilehti" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Seuraava välilehti" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "_Liitä" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Edellinen välilehti" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "_Näytä tuttavat" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "V_älilehdet" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Kopioi linkin osoite" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Avaa linkki" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d. %Bta %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Uusi viesti" +msgstr[1] "Uusi viesti" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "Keskusteluhuone" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Keskustelu" +msgstr[1] "_Keskustelu" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Kirjoittaa viestiä." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "_Tuttavat" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "_Ryhmä" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "Keskustele tuttavan kanssa" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "_Tietoja" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "Näytä yhteystiedot" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "Nimeä _uudelleen" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "Nimeä uudelleen" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "Muokkaa yhteystiedon ryhmiä ja nimeä" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Poista" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "_Poista tuttavan yhteystiedot" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "K_utsu keskusteluhuoneeseen" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "Kutsu avoinna olevaan keskusteluhuoneeseen" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "_Lähetä tiedosto..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "Lähetä tiedosto" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "Näytä edelliset keskustelut tämän tuttavan kanssa" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Kieli" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Ulkoasu</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Ääni</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Toiminta</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Yhteys</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Kielet</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Valinnat</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Ulkoasu</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>Lista kielistä sisältää ainoastaan ne kielet, joille tietokoneessasi " +"on asennettu sanakirja.</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "Avatarit ovat käyttäjän valitsemia kuvia yhteystietolistassa" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "Keskustelun _teema:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Näytä huomautuksia, kun yhteystiedot saapuvat _linjoille" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Merkkiäänet poissa-tilassa" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Merkkiäänet varattu-tilassa" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Yleinen" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Huomautukset" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Asetukset" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Näytä _avattaret" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Näytä _hymiöt hymiökuvakkeina" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "Näytä _pieni tuttavalista" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Kielentarkastus" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "Teemat" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "_Ota käyttöön oikeinkirjoituksen tarkistus" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Avaa uusi ikkuna uusille keskusteluille" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Merkkiääni viestin saapuessa" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "_Käytä keskusteluhuoneille" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "_Oma viesti..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Tyhjennä lista..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "Haluatko varmasti tyhjentää listan?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"Tämä poistaa omat viestisi, jotka olet lisännyt tilaviestien esivalintojen " +"listaan." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Tyhjennä lista" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Tilaviesti:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Tilaviestien oletusasetukset" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "Lisää _tilaviestien listaan" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s poistui linjoilta" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s on kirjautunut sisään" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Perinteinen" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Yksinkertainen" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Siisti" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Sininen" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Älä yhdistä käynnistettäessä" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Gossip-pikaviestiohjelma" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Gossip-pikaviestiohjelma" + +#~ msgid "Normal" +#~ msgstr "Normaali" + +#~ msgid "Joining" +#~ msgstr "Liitytään keskusteluun" + +#~ msgid "Active" +#~ msgstr "Aktiivinen" + +#~ msgid "Inactive" +#~ msgstr "Ei-aktiivinen" + +#~ msgid "Unknown" +#~ msgstr "Tuntematon" + +#~ msgid "Error" +#~ msgstr "Virhe" + +#~ msgid "Moderator" +#~ msgid_plural "Moderators" +#~ msgstr[0] "järjestäjä" +#~ msgstr[1] "järjestäjää" + +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "osallistuja" +#~ msgstr[1] "osallistujaa" + +#~ msgid "Visitor" +#~ msgid_plural "Visitors" +#~ msgstr[0] "vierailija" +#~ msgstr[1] "vierailijaa" + +#~ msgid "No role" +#~ msgstr "Ei roolia" + +#~ msgid "Owner" +#~ msgid_plural "Owners" +#~ msgstr[0] "omistaja" +#~ msgstr[1] "omistajaa" + +#~ msgid "Administrator" +#~ msgid_plural "Administrators" +#~ msgstr[0] "ylläpitäjä" +#~ msgstr[1] "ylläpitäjää" + +#~ msgid "Member" +#~ msgid_plural "Members" +#~ msgstr[0] "jäsen" +#~ msgstr[1] "jäsentä" + +#~ msgid "Outcast" +#~ msgid_plural "Outcasts" +#~ msgstr[0] "hylätty" +#~ msgstr[1] "hylättyä" + +#~ msgid "No affiliation" +#~ msgstr "Ei suhdetta" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "Valitsemasi nimimerkki on jo käytössä." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "Keskusteluhuoneeseen vaaditaan salasana." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "Ryhmäkeskustelupalvelin ei vastannut kohtuullisessa ajassa." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "Ryhmäkeskustelupalvelinta ei löytynyt." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Tuntematon virhe, tarkasta asetuksesi." + +#, fuzzy +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "Yhdistä keskusteluhuoneeseen" + +#~ msgid "Unavailable" +#~ msgstr "Ei tavoitettavissa" + +#~ msgid "An unknown error occurred." +#~ msgstr "Tuntematon virhe." + +#~ msgid "Connection refused." +#~ msgstr "Yhteys torjuttu." + +#~ msgid "Server address could not be resolved." +#~ msgstr "Palvelinta ei löydetty." + +#~ msgid "Connection timed out." +#~ msgstr "Yhteys aikakatkaistiin." + +#~ msgid "Authentication failed." +#~ msgstr "Todennus epäonnistui." + +#~ msgid "The username you are trying already exists." +#~ msgstr "Käyttäjätunnus on jo olemassa." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "Käyttäjätunnus ei ole voimassa." + +#~ msgid "This feature is unavailable." +#~ msgstr "Ominaisuus puuttuu." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Ominaisuuden käyttö ei ole sallittu." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "Odottamaton protokollavirhe." + +#~ msgid "new account" +#~ msgstr "uusi tili" + +#~ msgid "Home" +#~ msgstr "Koti" + +#~ msgid "Couldn't send message!" +#~ msgstr "Viestiä ei voitu lähettää!" + +#~ msgid "Connection could not be opened" +#~ msgstr "Yhteyttä ei voitu avata" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Ominaisuus puuttuu." + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Ominaisuuden käyttö ei ole sallittu." + +#~ msgid "Stop" +#~ msgstr "Pysäytä" + +#~ msgid "Disconnect" +#~ msgstr "Katkaise yhteys" + +#~ msgid "Connect" +#~ msgstr "Yhdistä" + +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Uuden käyttäjätilin asetukset rekisteröitiin onnistuneesti. " + +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "Uusi tilisi pitäisi nyt olla valmis käytettäväksi." + +#~ msgid "Failed to register your new account settings." +#~ msgstr "Uuden käyttäjätilin asetusten rekisteröinti epäonnistui. " + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Uuden käyttäjätilin asetukset rekisteröitiin onnistuneesti. " + +#, fuzzy +#~ msgid "You should now be able to connect with your new password." +#~ msgstr "Uusi tilisi pitäisi nyt olla valmis käytettäväksi." + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Salasana:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "Anna ryhmälle %s uusi nimi:" + +#~ msgid "No information is available for this contact." +#~ msgstr "Tuttavasta ei ole tietoja." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Pyydetään tietoja, odota hetki..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Haluaisin liittää sinut tuttavalistaani." + +#~ msgid "To summarize:" +#~ msgstr "Yhteenveto:" + +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "%d uusi viesti" +#~ msgstr[1] "%d uutta viestiä" + +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "%d liittymispyyntö" +#~ msgstr[1] "%d liittymispyyntöä" + +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "%d tiedostonsiirtopyyntö" +#~ msgstr[1] "%d tiedostonsiirtopyyntöä" + +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "%d palvelinviesti" +#~ msgstr[1] "%d palvlinviestiä" + +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "%d virhe" +#~ msgstr[1] "%d virhettä" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Jos lopetat, menetät kaiken lukemattoman tiedon." + +#~ msgid "Gossip is still running, it is just hidden." +#~ msgstr "Gossip on vielä käytössä, se on vain piilotettu." + +#~ msgid "Click on the notification area icon to show Gossip." +#~ msgstr "Napsauta ilmoitusaluetta kun haluat näyttää Gossipin." + +#~ msgid "You were about to quit!" +#~ msgstr "Meinasit sulkea ohjelman!" + +#~ msgid "" +#~ "Since no system or notification tray has been found, this action would " +#~ "normally quit Gossip.\n" +#~ "\n" +#~ "This is just a reminder, from now on, Gossip will quit when performing " +#~ "this action unless you uncheck the option below." +#~ msgstr "" +#~ "Koska ilmoitusaluetta ei löytynyt, sulkisi tämä toiminto normaalisti " +#~ "Gossipin.\n" +#~ "\n" +#~ "Tämä on ainoastaan muistutus ja jatkossa Gossip suljetaan tehtäessä tämä " +#~ "toiminto, jollet poista alla olevaa rastia ruudusta." + +#~ msgid "Edit Account _Details" +#~ msgstr "Muokkaa tilin _yksityiskohtia" + +#~ msgid "Click to enlarge" +#~ msgstr "Napsauta suurentaaksesi" + +#~ msgid "Word" +#~ msgstr "Sana" + +#~ msgid "Select who would you like to invite to room:" +#~ msgstr "Valitse henkilöt, jotka haluat kutsua keskusteluhuoneeseen:" + +#~ msgid "Select which room you would like to invite:" +#~ msgstr "Valitse keskusteluhuone, johon haluat kutsua:" + +#~ msgid "New message from %s" +#~ msgstr "Uusi viesti tuttavalta %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "Kutsuasi ei hyväksytty" + +#~ msgid "Accept" +#~ msgstr "Hyväksy" + +#~ msgid "Decline" +#~ msgstr "Kieltäydy" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Nimi:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Huone" + +#~ msgid "Auto Connect" +#~ msgstr "Yhdistä automaattisesti" + +#~ msgid "Information requested..." +#~ msgstr "Pyydetään tietoja..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "Haluatko poistaa tämän tuttavan listaltasi?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "Anna ryhmälle %s uusi nimi:" + +#~ msgid "Select" +#~ msgstr "Valitse" + +#~ msgid "Unsorted" +#~ msgstr "Järjestämätön" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server." +#~ msgstr "" +#~ "Aseta lempinimi seuraavalle yhteystiedolle:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Voit hakea yhteystiedot palvelimelta." + +#~ msgid "New file transfer request from %s" +#~ msgstr "Tiedostonsiirtopyyntö tuttavalta %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "Molemmat osapuolet eivät tue tiedostonsiirtoa." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Tiedostonsiirtopyyntö torjuttu." + +#~ msgid "The other user decided not to continue." +#~ msgstr "Vastapuoli keskeytti tiedostonsiirron." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Tiedostonsiirrossa tapahtui tuntematon virhe." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s haluaa lähettää sinulle tiedoston." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Sinulle halutaan lähettää tiedosto." + +#~ msgid "Select a file" +#~ msgstr "Valitse tiedosto" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Yhdistetään" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Katkaise yhteys" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "Kutsuttiin %s ryhmäkeskusteluun." + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s on valinnut aiheen" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Nimimerkki tuttavallesi" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "%s on valinnut aiheen" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "%s on valinnut aiheen" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Aihe:" + +#~ msgid "Account" +#~ msgstr "Käyttäjätili" + +#~ msgid "Conversation With" +#~ msgstr "Keskustelukumppani" + +#~ msgid "Date" +#~ msgstr "Päivämäärä" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "Salli useita kopioita ohjelmasta suoritettavan samaan aikaan" + +#~ msgid "List the available accounts" +#~ msgstr "Näytä kaikki käyttäjätilit" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Käyttäjätili, johon yhdistetään käynnistettäessä" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "KÄYTTÄJÄTILIN NIMI" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "Et voi käyttää valitsinta --no-connect valitsimen --account kanssa" + +#~ msgid "No accounts available." +#~ msgstr "Käyttäjätilejä ei ole luotu." + +#~ msgid "Available accounts:" +#~ msgstr "Käyttäjätilit:" + +#~ msgid "[default]" +#~ msgstr "[oletus]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Käyttäjätiliä %s ei ole olemassa." + +#~ msgid "Join" +#~ msgstr "Liity" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Päivämäärä" + +#~ msgid "Chat Rooms" +#~ msgstr "Keskusteluhuoneet" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Pyydetään tietoja, odota hetki..." + +#~ msgid "Default" +#~ msgstr "Oletus" + +#~ msgid "Chat!" +#~ msgstr "Keskustele!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s haluaa tuttavalistallesi." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Joku haluaa tulla lisätyksi tuttavalistaasi." + +#~ msgid "Subscription request" +#~ msgstr "Liittymispyyntö" + +#~ msgid "Show" +#~ msgstr "Näytä" + +#~ msgid "Contact Information" +#~ msgstr "Yhteystiedot" + +#~ msgid "Subject: %s" +#~ msgstr "Otsikko: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Korjausehdotukset" + +#~ msgid "New subscription request from %s" +#~ msgstr "%s haluaa liittyä tuttavalistallesi" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Haluatko lisätä tämän henkilön tuttavalistallesi?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Lisätäänkö tuttava %s listallesi?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Käyttäjätilisi %s salasana" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "Kirjaudutaan sisään käyttäjänä %s" + +#~ msgid "Remember Password?" +#~ msgstr "Muistetaanko salasana?" + +#~ msgid "Do not show this again" +#~ msgstr "Älä näytä tätä enää uudestaan" + +#~ msgid "Could not display the help contents." +#~ msgstr "Ohjetiedostoa ei voida näyttää." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Valitse avatar-kuvasi" + +#~ msgid "No Image" +#~ msgstr "Ei kuvaa" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Palvelin ei vastaa." + +#~ msgid "Try again later." +#~ msgstr "Yritä uudelleen myöhemmin." + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Keskustelu" + +#~ msgid "Contact goes offline" +#~ msgstr "Tuttava on poistunut linjoilta" + +#~ msgid "Contact goes online" +#~ msgstr "Tuttava on kirjautunut sisään" + +#~ msgid "Contact ID:" +#~ msgstr "Käyttäjätunnus:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Hyväksytäänkö tiedosto?" + +#~ msgid "File Transfer Request" +#~ msgstr "Tiedostonsiirtopyyntö" + +#~ msgid "File name:" +#~ msgstr "Tiedostonimi:" + +#~ msgid "File size:" +#~ msgstr "Tiedoston koko:" + +#~ msgid "Not supported yet" +#~ msgstr "Toiminto ei ole tuettu" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Tuttava haluaa lähettää sinulle seuraavan tiedoston:" + +#~ msgid "Web site:" +#~ msgstr "WWW-sivusto:" + +#~ msgid "_Accept" +#~ msgstr "_Hyväksy" + +#~ msgid "_Deny" +#~ msgstr "H_ylkää" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Ryhmät</b>" + +#~ msgid "Account:" +#~ msgstr "Käyttäjätili:" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Muokkaa keskusteluhuoneen asetuksia" + +#~ msgid "Group Chat" +#~ msgstr "Ryhmäkeskustelu" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "Liity _uuteen..." + +#~ msgid "Join room on start_up" +#~ msgstr "Yhdistä _keskusteluhuoneeseen käynnistettäessä" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "Yhdistä tähän keskusteluhuoneeseen, kun yhteys on muodostettu" + +#, fuzzy +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Hallitse keskusteluhuoneita..." + +#~ msgid "N_ame:" +#~ msgstr "_Nimi:" + +#~ msgid "S_erver:" +#~ msgstr "_Palvelin:" + +#~ msgid "_Nickname:" +#~ msgstr "_Nimimerkki:" + +#~ msgid "_Room:" +#~ msgstr "_Keskusteluhuone:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>Tietoja</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Tietoja asiakasohjelmasta</b>" + +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Ryhmät</b>" + +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Nimi</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Henkilötiedot</b>" + +#~ msgid "<b>Status</b>" +#~ msgstr "<b>Tila</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Valinnat</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Esimerkki: Seppo tai seppo@server.org</span>" + +#~ msgid "Accou_nt:" +#~ msgstr "Käyttäjä_tili:" + +#~ msgid "Add Contact" +#~ msgstr "Lisää tuttava" + +#~ msgid "Alia_s:" +#~ msgstr "Ni_mimerkki:" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Ch_at" +#~ msgstr "_Keskustele" + +#~ msgid "Client:" +#~ msgstr "Asiakasohjelma:" + +#~ msgid "Con_tact:" +#~ msgstr "Yh_teystieto:" + +#~ msgid "Connect on S_tartup" +#~ msgstr "_Yhdistä käynnistettäessä" + +#~ msgid "Contacts" +#~ msgstr "Tuttavat" + +#~ msgid "Country:" +#~ msgstr "Maa:" + +#~ msgid "Decide _Later" +#~ msgstr "_Päätä myöhemmin" + +#~ msgid "Edit Contact" +#~ msgstr "Muokkaa yhteystietoja" + +#~ msgid "Edit Groups" +#~ msgstr "Muokkaa ryhmiä" + +#~ msgid "Email:" +#~ msgstr "Sähköposti:" + +#~ msgid "ID:" +#~ msgstr "Käyttäjätunnus:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Jos haluat päättää myöhemmin, sinulta kysytään tätä uudestaan " +#~ "kirjautuessasi sisään seuraavan kerran." + +#~ msgid "Name:" +#~ msgstr "Nimi:" + +#~ msgid "OS:" +#~ msgstr "Käyttöjärjestelmä:" + +#~ msgid "Personal Details" +#~ msgstr "Henkilötiedot" + +#~ msgid "R_egister" +#~ msgstr "R_ekisteröityminen" + +#~ msgid "Search" +#~ msgstr "Etsi" + +#~ msgid "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." +#~ msgstr "" +#~ "Valitse ryhmät, joissa haluat tämän yhteystiedon näkyvän. Voit valita " +#~ "useita ryhmiä tai olla valitsematta yhtään ryhmää." + +#, fuzzy +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Aseta lempinimi seuraavalle yhteystiedolle:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Voit hakea yhteystiedot palvelimelta." + +#~ msgid "Spell Checker" +#~ msgstr "Kielentarkastus" + +#~ msgid "Subscription Request" +#~ msgstr "Liittymispyyntö" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Korjausehdotuksia:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Tämän avulla voit näyttää haluamasi osan tuttavalistasta.Voit syöttää " +#~ "tähän osan tuttavan nimestä tai osoitteesta, esimerkiksi \"jabber.org\", " +#~ "jolloin näet tälle palvelimelle kirjautuneet tuttavat. " + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Tämä on nimi, jota tuttavastasi käytetään nimilistassasi" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Tätä nimeä käytetään identiteettinäsi keskusteluikkunoissa" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Tätä käytetään identiteettinäsi, kun ystävät katsovat yksityiskohtia " +#~ "sinusta" + +#~ msgid "Use default name here from the contact's VCard." +#~ msgstr "Käytä tässä oletusnimeä yhteystiedon VCardista." + +#~ msgid "Use system pro_xy" +#~ msgstr "Käytä järjestelmän _välipalvelinta" + +#~ msgid "Version:" +#~ msgstr "Versio:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Näytä edelliset keskustelut" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Käyttäjätili jota haluat käyttää" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Et ole tuttavasi listalla." + +#~ msgid "_Connect" +#~ msgstr "_Yhdistä" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Kuvaus:" + +#~ msgid "_Disconnect" +#~ msgstr "_Katkaise yhteys" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Sähköposti:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "Tuttavan nimi tai käyttäjätunnus:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Portti:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "_Nimi:" + +#~ msgid "_Group:" +#~ msgstr "_Ryhmä:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Nimimerkki:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "S_alasana:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Uusi viesti" + +#~ msgid "_Retrieve" +#~ msgstr "_Nouda" + +#~ msgid "_Subscribe" +#~ msgstr "_Liittymispyyntö" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "WWW-sivusto:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "jabber-tilin asetukset" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "jabber-tilin asetukset" + +#~ msgid "Favourite" +#~ msgstr "Suosikki" + +#~ msgid "Add to _favourites" +#~ msgstr "Lisää _suosikkeihin" + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "Valitse nimimerkki, palvelin ja keskusteluhuone, johon liitytään." + +#~ msgid "Edit your chat room details:" +#~ msgstr "Muokkaa keskusteluhuoneen asetuksia:" + +#~ msgid "Na_me:" +#~ msgstr "_Nimi:" + +#~ msgid "New Chat Room" +#~ msgstr "Uusi keskusteluhuone" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "" +#~ "Valitse tallennettu keskusteluhuone allaolevasta listasta ja napsauta " +#~ "Liity aloittaaksesi keskustelun." + +#~ msgid "Save _this chat room" +#~ msgstr "_Tallenna keskusteluhuone" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "Group:" +#~ msgstr "Ryhmä:" + +#~ msgid "Nickname:" +#~ msgstr "Nimimerkki:" + +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "Napsauta painiketta Tilaa nähdäksesi heidän tilansa" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Aseta lempinimi seuraavalle yhteystiedolle:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "Voit hakea yhteystiedot palvelimelta." + +#~ msgid "Web Site:" +#~ msgstr "WWW-sivusto:" + +#~ msgid "_Forget" +#~ msgstr "_Poista" + +#~ msgid "_Group Chat" +#~ msgstr "_Ryhmäkeskustelu" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s liitetään tuttavalistallesi." + +#~ msgid "%s ID of new contact:" +#~ msgstr "%s ID uudelle tuttavalle:" + +#~ msgid "Example: %s" +#~ msgstr "Esimerkki: %s" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "Käyttäjätilejä ei ole määritetty!" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "Seuraavaksi luodaan käyttäjätilin asetukset." + +#~ msgid "Registering account" +#~ msgstr "Rekisteröidään käyttäjätiliä" + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Kysely käynnissä, odota...</b>" + +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Esimerkki:</span>" + +#~ msgid "Account Name" +#~ msgstr "Käyttäjätilin nimi" + +#~ msgid "Add a contact" +#~ msgstr "Lisää tuttava" + +#~ msgid "Connection Details" +#~ msgstr "Yhteyden tiedot" + +#~ msgid "Contact information" +#~ msgstr "Yhteystiedot" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Oletko jo luonut käyttäjätilin palvelimelle?" + +#~ msgid "Enter a name for this account" +#~ msgstr "Anna nimi käyttäjätilille" + +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "Tämän tilin yhdeydelle käytettävä portti" + +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "Tämän tilin yhteydelle käytettävä palvelin" + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Käyttäjätunnus:" + +#~ msgid "Enter your real name here" +#~ msgstr "Syötä oma nimesi" + +#~ msgid "Finished" +#~ msgstr "Lopetettiin" + +#~ msgid "For increased security, enable this option" +#~ msgstr "Valitse tämä, jos haluat enemmän tietoturvaa" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip on nykyaikainen Jabber-pikaviestinohjelma\n" +#~ "\n" +#~ "Tämän asetusohjelman avulla saat helposti säädettyä Gossipin asetukset " +#~ "kohdalleen.\n" +#~ "\n" +#~ "Paina \"Eteenpäin\" jatkaaksesi." + +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option" +#~ msgstr "" +#~ "Valitse tämä vaihtoehto, jos sinulla on verkossasi toinen tietokone, joka " +#~ "toimii välipalvelimena verkkoon ja haluat käyttää sitä" + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "Jos tarvitset erityisiä yhteysasetuksia, esimerkiksi vaihtoehtoisen " +#~ "palvelimen tai portin, voit muokata asetuksia tästä:" + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Nähdäksesi milloin tuttavasi on linjoilla, sinun tulee liittyä hänen " +#~ "tuttavalistalleen. Tuttavasi tila on \"Poissa linjoilta\" kunnes hän on " +#~ "hyväksynyt liittymispyyntösi." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "Mihin ryhmään tuttava liitetään?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber-käyttäjätunnus:" + +#~ msgid "" +#~ "Leave this blank if you don't want your password stored on a public " +#~ "machine. If you decide to do this, you will be prompted each time you " +#~ "connect for a password" +#~ msgstr "" +#~ "Jätä tämä kohta tyhjäksi, jos et halua, että salasanasi tallennetaan " +#~ "tälle tietokoneelle. Jos et tallenna salasanaa, joudut kirjoittamaan " +#~ "salasanasi aina sisäänirjautuessasi." + +#~ msgid "Port:" +#~ msgstr "Portti:" + +#~ msgid "Registering Account" +#~ msgstr "Käyttäjätiliä rekisteröidään" + +#~ msgid "Resource:" +#~ msgstr "Resurssi:" + +#~ msgid "Sending request" +#~ msgstr "Pyyntöä lähetetään" + +#~ msgid "Server:" +#~ msgstr "Palvelin:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Tervetuloa Gossipiin" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Tuttavasi käyttämä pikaviestiohjelma" + +#~ msgid "What is your name?" +#~ msgstr "Nimesi" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "Käyttäjätilisi nimi\n" +#~ "\n" +#~ "Gossip käyttää sitä käyttäjäprofiilisi nimenä." + +#~ msgid "What password do you want to use?" +#~ msgstr "Salasana" + +#~ msgid "What username do you use?" +#~ msgstr "Nykyinen käyttäjätunnus" + +#~ msgid "What username do you want to use?" +#~ msgstr "Uusi käyttäjätunnus" + +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Mihin käyttäjätiliin tämä tuttava liitetään?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Voit muuttaa käyttäjätilisi asetuksia myöhemmin valitsemalla Muokkaa - " +#~ "Käyttäjätilit." + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "" +#~ "Anna nimi yhteydelle, esimerkiksi <b>Kotikone</b> tai <b>Kannettava</b>." + +#~ msgid "Your Account" +#~ msgstr "Käyttäjätilisi" + +#~ msgid "Your Identity" +#~ msgstr "Henkilötietosi" + +#~ msgid "Your new account has now been set up." +#~ msgstr "Käyttäjätili on luotu." + +#~ msgid "_No" +#~ msgstr "_Ei" + +#~ msgid "_Search..." +#~ msgstr "_Etsi..." + +#~ msgid "_Yes" +#~ msgstr "_Kyllä" + +#~ msgid "Edit" +#~ msgstr "Muokkaa" + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "Onko palvelimen portti varmasti oikea?" + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "Onko palvelu varmasti käynnissä?" + +#~ msgid "Check your connection details." +#~ msgstr "Tarkasta yhteysasetuksesi." + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "Palvelu ei ole ehkä käytössä tällä palvelimella." + +#~ msgid "Check your username and password are correct." +#~ msgstr "Tarkasta käyttäjätunnuksesi ja salasanasi." + +#~ msgid "Show accounts and pending connections" +#~ msgstr "Näytä tilit ja odotettavat yhteydet" + +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "" +#~ "Kirjoita tähän kutsuviesti tuttavalle:\n" +#~ "%s" + +#~ msgid "Rename contact" +#~ msgstr "Nimeä tuttava uudelleen" + +#~ msgid "Re_name group" +#~ msgstr "Nimeä ryh_mä uudelleen" + +#~ msgid "Rename group" +#~ msgstr "Nimeä ryh_mä uudelleen" + +#~ msgid "_Edit Groups" +#~ msgstr "Muokkaa _ryhmiä" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Anna uusi nimimerkki tuttavalle\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Muokkaa %s:n ryhmiä" + +#~ msgid "_Hide Contact List" +#~ msgstr "Piil_ota tuttavalista" + +#~ msgid "Preset status messages" +#~ msgstr "Palauta tilaviestien oletusasetukset" + +#~ msgid "Preset status messages." +#~ msgstr "Palauta tilaviestien oletusasetukset." + +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_Yhteystiedot" + +#~ msgid "/_View Previous Conversations" +#~ msgstr "/Näytä _edelliset keskustelut" + +#~ msgid "Conversation Log" +#~ msgstr "Keskusteluloki" + +#~ msgid "Respond" +#~ msgstr "Vastaa" + +#~ msgid "Dark" +#~ msgstr "Tumma" + +#~ msgid "Be silent when away" +#~ msgstr "Ei merkkiääniä Poissa-tilassa" + +#~ msgid "Be silent when busy" +#~ msgstr "Ei merkkiääniä Varattu-tilassa" + +#~ msgid "Height of main window" +#~ msgstr "Pääikkunan korkeus" + +#~ msgid "The X position of the main window." +#~ msgstr "Pääikkunan X-koordinaatti." + +#~ msgid "The Y position of the main window." +#~ msgstr "Pääikkunan Y-koordinaatti." + +#~ msgid "The width of the main window." +#~ msgstr "Pääikkunan leveys." + +#~ msgid "Whether spell checking should be turned on." +#~ msgstr "Otetaanko kielentarkastus käyttöön?" + +#~ msgid "Width of the main window" +#~ msgstr "Pääikkunan leveys" + +#~ msgid "X position of main window" +#~ msgstr "Pääikkunan X-koordinaatti" + +#~ msgid "Y position of main window" +#~ msgstr "Pääikkunan Y-koordinaatti" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip-pikaviestiohjelma" + +#~ msgid "Close this chat window" +#~ msgstr "Sulje keskusteluikkuna" + +#~ msgid "Contact Information for %s" +#~ msgstr "Tuttavan %s yhteystiedot" + +#~ msgid "Requested Information" +#~ msgstr "Pyydetyt tiedot" + +#~ msgid "Contact _Information" +#~ msgstr "_Yhteystiedot" + +#~ msgid "Check spelling while I _type" +#~ msgstr "_Tarkasta oikeinkirjoitus kirjoitettaessa" + +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip – Käyttäjätilit" + +#~ msgid "Join _Group Chat..." +#~ msgstr "_Liity ryhmäkeskusteluun" + +#~ msgid "Por_t:" +#~ msgstr "P_ortti:" + +#~ msgid "Requested information." +#~ msgstr "Pyydetyt tiedot." + +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "Pyydetään yhteystietoja, odota hetki..." diff --git a/trunk/po/fr.po b/trunk/po/fr.po new file mode 100644 index 000000000..e429ee1f2 --- /dev/null +++ b/trunk/po/fr.po @@ -0,0 +1,1792 @@ +# French translation of gossip. +# Copyright (C) 2003-2007 The Free Software Foundation, Inc. +# This file is distributed under the same license as the gossip package. +# +# Frédéric Brin <duckx@mezimail.com>, 2003. +# Lionel Henry <yoplait@tuxfamily.org>, 2003. +# Laurent Richard <laurent.richard@lilit.be>, 2004. +# Christophe Merlet <redfox@redfoxcenter.org>, 2004. +# Audrey Simons <asimons@redhat.com>, 2004. +# Quentin Delance <quentin.delance@laposte.net>, 2006. +# Claude Paroz <claude@2xlibre.net>, 2007. +# Jonathan Ernst <jonathan@ernstfamily.ch>, 2007. +# Damien Durand <splinux@fedoraproject.org>, 2007. +# Robert-André Mauchin <zebob.m@gmail.com>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip 0.7.8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2007-04-23 22:59+0200\n" +"Last-Translator: Robert-André Mauchin <zebob.m@gmail.com>\n" +"Language-Team: GNOME French Team <gnomefr@traduc.org>\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/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Messagerie instantanée" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Messagerie instantanée" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" +"Toujours ouvrir une fenêtre de discussion séparée pour les nouvelles " +"discussions." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Thème de la fenêtre de discussion" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Liste séparée par des virgules des langues à utiliser pour la correction " +"orthographique (ex. : en, fr, nl)." + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "Liste compacte de contacts" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Répertoire par défaut où choisir un avatar" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Afficher une fenêtre popup quand le contact est disponible" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Activer les sons lorsque vous êtes absent" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Activer les sons lorsque vous êtes indisponible" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "Activer le correcteur orthographique" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Masquer la fenêtre principale" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Masque la fenêtre principale." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Ouvrir les nouvelles discussions dans des fenêtres séparées" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Afficher les avatars" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "Afficher une astuce sur la fermeture de la fenêtre principale" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Afficher les contacts déconnectés" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Langues de la correction orthographique" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "Dernier répertoire où un avatar a été choisi." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Le thème utilisé pour l'affichage dans les fenêtres de discussion." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Utiliser des frimousses graphiques" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Utiliser des sons de notification" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "Utiliser des thèmes pour les salles de discussion" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" +"Indique s'il faut vérifier les mots saisis selon les langues de vérification " +"choisies." + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Indique s'il faut changer les frimousses en images graphiques dans les " +"conversations." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Indique s'il faut jouer un son quand un message arrive." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Indique s'il faut émettre des sons en cas d'absence." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Indique s'il faut émettre des sons en cas d'indisponibilité." + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "" +"Indique s'il faut afficher une fenêtre popup lorsqu'un contact devient " +"disponible." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Indique s'il faut afficher les avatars des contacts dans la liste des " +"contacts et les fenêtres de discussion." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" +"Indique s'il faut afficher les contacts qui sont déconnectés dans la liste " +"des contacts." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"Indique s'il faut afficher la boîte de dialogue au sujet de la fermeture de " +"la fenêtre principale avec le bouton « x » dans la barre de titre." + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "Indique s'il faut afficher la liste des contacts en mode compact." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "Indique s'il faut utiliser les thèmes pour les salles de discussion." + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Déconnecté" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Disponible" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Occupé" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Absent" + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "Afficher et modifier les comptes" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Groupe" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "Contact" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "Liste de contacts - Gossip" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "Contexte" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "Joindre les _favoris" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Rejoindre _nouveau" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "Gérer les favoris..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Afficher les contacts _déconnectés" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "À _propos" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Comptes" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "A_jouter un contact..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Discuter" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Sommaire" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "É_diter" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "Aid_e" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Nouveau message..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "_Informations personnelles" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Préférences" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Quitter" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Salle" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "_Afficher les conversations précédentes" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "État" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Afficher la liste des contacts" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier " +"selon les termes de la Licence Publique Générale GNU, telle que publiée par " +"la Free Software Foundation ; version 2 de la licence ou (à votre " +"discrétion) toute version ultérieure." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE " +"GARANTIE ; sans même la garantie implicite de VALEUR MARCHANDE ou " +"D'ADÉQUATION À UN BESOIN PARTICULIER. Pour plus de détails, voir la Licence " +"Publique Générale GNU." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"Un exemplaire de la Licence Publique Générale GNU doit être fourni avec " +"Gossip ; si ce n'est pas le cas, écrivez à la Free Software Foundation, " +"Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130159 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "Un client de messagerie instantanée pour GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"Frédéric Brin <duckx@mezimail.com>\n" +"Lionel Henry <yoplait@tuxfamily.org>\n" +"Laurent Richard <laurent.richard@lilit.be>\n" +"Christophe Merlet <redfox@redfoxcenter.org>\n" +"Audrey Simons <asimons@redhat.com>\n" +"Quentin Delance <quentin.delance@laposte.net>\n" +"Claude Paroz <claude@2xlibre.net>\n" +"Jonathan Ernst <jonathan@ernstfamily.ch>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Disponible" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "<b>Aucun compte sélectionné</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"Pour ajouter un nouveau compte, vous pouvez cliquer sur le bouton " +"« Ajouter » et vous pourrez alors configurer cette nouvelle entrée.\n" +"\n" +"Si vous ne souhaitez pas créer de compte, cliquez simplement dans la liste " +"de gauche sur le compte que vous voulez configurer." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Aucun compte configuré</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" +"Pour ajouter un nouveau compte, vous pouvez cliquer sur le bouton " +"« Ajouter » et vous pourrez alors configurer cette nouvelle entrée." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Comptes" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"Vous êtes sur le point de supprimer votre compte %s !\n" +"Voulez-vous vraiment continuer ?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Toutes les salles de conversation et de discussion associées ne seront PAS " +"supprimées si vous décidez de continuez.\n" +"\n" +"Si vous décidez de recréer ce compte plus tard, elles seront toujours " +"disponibles." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Compte</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +msgid "<b>New Account</b>" +msgstr "<b>Nouveau compte</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +msgid "<b>Settings</b>" +msgstr "<b>Paramètres</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" +"Un nom unique pour ce compte vous permet d'être identifié personnellement." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +msgid "Cr_eate" +msgstr "C_réer" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "Imendio" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"Pour ajouter un nouveau compte, vous pouvez cliquer sur le bouton " +"« Ajouter » et vous pourrez alors configurer cette nouvelle entrée.\n" +"\n" +"Si vous ne souhaitez pas créer de compte, cliquez simplement dans la liste " +"de gauche sur le compte que vous voulez configurer." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Nom :" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "_Type :" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "%s :" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "Oublier le mot de passe et effacer la zone." + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "I_D de connexion :" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "Mot de _passe :" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "Resso_urce :" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "Utiliser le _chiffrement (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Port :" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Serveur :" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "paramètres de compte jabber" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Déconnecté" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Insérer une frimousse" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Vérifier l'orthographe..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Connecté" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Nettoyer" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "Changer de _sujet..." + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Discuter" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "Infor_mations du contact" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "Co_uper" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "In_viter..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Insérer une _frimousse" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +msgid "Invitation _message:" +msgstr "_Message d'invitation :" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "Inviter" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Déplacer l'onglet à _gauche" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Déplacer l'onglet à _droite" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "Sélectionnez la personne à inviter :" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Vous avez été invité(e) à joindre une salle de discussion" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "_Ajouter aux favoris..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "_Fermer" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Conversation" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "_Copier" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Détacher l'onglet" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "Onglet _suivant" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "C_oller" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "Onglet _précédent" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "Afficher les contacts" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Onglets" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Copier l'adresse du lien" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Ouvrir le lien" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Nouveau message" +msgstr[1] "Nouveaux messages" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "Salle de discussion" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "Conversation" +msgstr[1] "Conversations (%d)" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Saisie d'un message." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "_Contact" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "_Groupe" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "Discuter avec un contact" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "Infor_mations" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "Voir les informations sur le contact" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "Re_nommer" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "Renommer" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "Éditer les groupes et le nom de ce contact" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Supprimer" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "Supprimer le contact" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "_Inviter dans la salle de discussion" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "Inviter dans une salle de discussion actuellement ouverte" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "_Envoyer un fichier..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "Envoyer un fichier" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "Afficher les conversations précédentes avec ce contact" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Langue" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Apparence</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Audio</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Comportement</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>État</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Langues</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Options</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Aspect</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>La liste de langues ne contient que les langues pour lesquelles vous " +"avez un dictionnaire installé.</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" +"Les avatars sont des images choisies par l'utilisateur et visibles dans la " +"liste de contacts" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "_Thème de la discussion :" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Afficher des notifications quand les contacts se c_onnectent" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Activer les sons lorsque vous êtes _absent" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Activer les sons lorsque vous êtes _indisponible" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Général" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Notifications" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Préférences" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Afficher les _avatars" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Convertir les _frimousses en images" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "Afficher la liste co_mpacte des contacts" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Correction orthographique" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "Thèmes" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "_Activer le correcteur orthographique" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Ouvrir les nouvelles discussions dans des fenêtres séparées" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Jouer un son lors de la réception des messages" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "_Utiliser pour les salles de discussion" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Message personnalisé..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Effacer la liste..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "Voulez-vous vraiment effacer la liste ?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"Cela va supprimer tous les messages personnalisés que vous avez ajoutés à la " +"liste de messages d'état standard." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Effacer la liste" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Saisissez le message d'état :" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Sélection de messages d'état" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "_Ajouter à la liste de messages d'état" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s s'est déconnecté" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s s'est connecté" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Classique" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Simple" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Propre" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Bleu" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Ne pas se connecter au démarrage" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Messagerie instantanée Gossip" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Messagerie instantanée Gossip" + +#~ msgid "Normal" +#~ msgstr "Normal" + +#~ msgid "Joining" +#~ msgstr "Entrée" + +#~ msgid "Active" +#~ msgstr "Actif" + +#~ msgid "Inactive" +#~ msgstr "Inactif" + +#~ msgid "Unknown" +#~ msgstr "Inconnu" + +#~ msgid "Error" +#~ msgstr "Erreur" + +#~ msgid "Moderator" +#~ msgid_plural "Moderators" +#~ msgstr[0] "Modérateur" +#~ msgstr[1] "Modérateurs" + +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "Participant" +#~ msgstr[1] "Participants" + +#~ msgid "Visitor" +#~ msgid_plural "Visitors" +#~ msgstr[0] "Visiteur" +#~ msgstr[1] "Visiteurs" + +#~ msgid "No role" +#~ msgstr "Aucun rôle" + +#~ msgid "Owner" +#~ msgid_plural "Owners" +#~ msgstr[0] "Propriétaire" +#~ msgstr[1] "Propriétaires" + +#~ msgid "Administrator" +#~ msgid_plural "Administrators" +#~ msgstr[0] "Administrateur" +#~ msgstr[1] "Administrateurs" + +#~ msgid "Member" +#~ msgid_plural "Members" +#~ msgstr[0] "Membre" +#~ msgstr[1] "Membres" + +#~ msgid "Outcast" +#~ msgid_plural "Outcasts" +#~ msgstr[0] "Indésirable" +#~ msgstr[1] "Indésirables" + +#~ msgid "No affiliation" +#~ msgstr "Aucune affiliation" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "Le pseudonyme choisi est déjà utilisé." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "" +#~ "La salle de discussion que vous avez essayé de joindre nécessite un mot " +#~ "de passe." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "Le serveur de discussion n'a pas répondu dans un délai raisonnable." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "" +#~ "Le serveur de discussion que vous avez essayé de joindre est introuvable." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "" +#~ "Une erreur inconnue s'est produite, vérifiez que les détails sont " +#~ "corrects." + +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "L'entrée dans la salle de discussion a été annulée." + +#~ msgid "Unavailable" +#~ msgstr "Indisponible" + +#~ msgid "An unknown error occurred." +#~ msgstr "Une erreur inconnue s'est produite." + +#~ msgid "Connection refused." +#~ msgstr "Connexion refusée." + +#~ msgid "Server address could not be resolved." +#~ msgstr "L'adresse du serveur n'a pas pu être résolue." + +#~ msgid "Connection timed out." +#~ msgstr "Connexion expirée." + +#~ msgid "Authentication failed." +#~ msgstr "Échec de l'authentification." + +#~ msgid "The username you are trying already exists." +#~ msgstr "Le nom d'utilisateur que vous essayez existe déjà." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "Le nom d'utilisateur que vous essayez n'est pas valide." + +#~ msgid "This feature is unavailable." +#~ msgstr "Cette fonctionnalité n'est pas disponible." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Cette fonctionnalité n'est pas autorisée." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "Une erreur spécifique de protocole s'est produite." + +#~ msgid "new account" +#~ msgstr "nouveau compte" + +#~ msgid "Home" +#~ msgstr "Domicile" + +#~ msgid "Couldn't send message!" +#~ msgstr "Impossible d'envoyer le message !" + +#~ msgid "Connection could not be opened" +#~ msgstr "La connexion n'a pas pu être ouverte" + +#~ msgid "Service has gone and is no longer available" +#~ msgstr "Le service n'est plus disponible" + +#~ msgid "Bad or malformed request to this service" +#~ msgstr "Requête incorrecte pour ce service" + +#~ msgid "Unauthorized request to this service" +#~ msgstr "Requête non autorisée pour ce service" + +#~ msgid "Payment is required for this service" +#~ msgstr "Paiement obligatoire pour ce service" + +#~ msgid "This service is forbidden" +#~ msgstr "Ce service est interdit" + +#~ msgid "This service is unavailable or not found" +#~ msgstr "Ce service n'est pas disponible ou introuvable" + +#~ msgid "Unacceptable request sent to this services" +#~ msgstr "Requête inacceptable pour ces services" + +#~ msgid "Registration is required" +#~ msgstr "Enregistrement obligatoire" + +#~ msgid "There was a conflict of interest trying to use this service" +#~ msgstr "" +#~ "Un conflit d'intérêt s'est produit en essayant d'utiliser ce service" + +#~ msgid "There was an internal service error" +#~ msgstr "Une erreur interne de service s'est produite" + +#~ msgid "This feature is not implemented" +#~ msgstr "Cette fonctionnalité n'est pas implémentée" + +#~ msgid "The remote service timed out" +#~ msgstr "Le service distant a expiré" + +#~ msgid "Using the %s backend" +#~ msgstr "Utilisation du moteur %s" + +#~ msgid "Stop" +#~ msgstr "Arrêter" + +#~ msgid "Disconnect" +#~ msgstr "Se déconnecter" + +#~ msgid "Connect" +#~ msgstr "Se connecter" + +#~ msgid "All" +#~ msgstr "Toutes" + +#~ msgid "Bye bye" +#~ msgstr "Au revoir" + +#~ msgid "Successfully registered your new account settings." +#~ msgstr "" +#~ "Les paramètres de votre nouveau compte ont été enregistrés avec succès." + +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "" +#~ "Vous devriez maintenant pouvoir vous connecter à votre nouveau compte." + +#~ msgid "Failed to register your new account settings." +#~ msgstr "L'enregistrement des paramètres du nouveau compte a échoué." + +#~ msgid "Successfully changed your account password." +#~ msgstr "Le mot de passe de votre compte a été modifié avec succès." + +#~ msgid "You should now be able to connect with your new password." +#~ msgstr "" +#~ "Vous devriez maintenant pouvoir vous connecter avec votre nouveau mot de " +#~ "passe." + +#~ msgid "Failed to change your account password." +#~ msgstr "La modification du mot de passe de votre compte a échoué." + +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Veuillez saisir un nouveau mot de passe pour ce compte :\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Aucune information disponible pour ce contact." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Informations demandées, veuillez patienter..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Je voudrais vous ajouter à ma liste de contacts." + +#~ msgid "To summarize:" +#~ msgstr "En résumé :" + +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "%d nouveau message" +#~ msgstr[1] "%d nouveaux messages" + +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "%d requête d'abonnement" +#~ msgstr[1] "%d requêtes d'abonnement" + +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "%d demande de transfert de fichier" +#~ msgstr[1] "%d demandes de transfert de fichier" + +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "%d message du serveur" +#~ msgstr[1] "%d messages du serveur" + +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "%d erreur" +#~ msgstr[1] "%d erreurs" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "" +#~ "Si vous quittez, vous allez perdre toutes les informations non lues." + +#~ msgid "Gossip is still running, it is just hidden." +#~ msgstr "Gossip est toujours lancé, mais il est masqué." + +#~ msgid "Click on the notification area icon to show Gossip." +#~ msgstr "" +#~ "Cliquez sur l'icône de la zone de notification pour afficher Gossip." + +#~ msgid "You were about to quit!" +#~ msgstr "Vous étiez sur le point de quitter !" + +#~ msgid "" +#~ "Since no system or notification tray has been found, this action would " +#~ "normally quit Gossip.\n" +#~ "\n" +#~ "This is just a reminder, from now on, Gossip will quit when performing " +#~ "this action unless you uncheck the option below." +#~ msgstr "" +#~ "Comme il n'existe aucune zone système ou de notification, cette action " +#~ "ferme Gossip, en principe.\n" +#~ "\n" +#~ "Ceci n'est qu'un rappel. Dès maintenant, Gossip se fermera en effectuant " +#~ "cette action, à moins que vous ne décochiez l'option ci-dessous." + +#~ msgid "Edit Account _Details" +#~ msgstr "Éditer les _paramètres du compte" + +#~ msgid "Click to enlarge" +#~ msgstr "Cliquer pour agrandir" + +#~ msgid "Word" +#~ msgstr "Mot" + +#~ msgid "Select who would you like to invite to room:" +#~ msgstr "Sélectionnez la personne à inviter dans la salle :" + +#~ msgid "Select which room you would like to invite:" +#~ msgstr "Sélectionnez la salle dans laquelle vous voulez inviter :" + +#~ msgid "New message from %s" +#~ msgstr "Nouveau message de %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "Votre invitation a été déclinée" + +#~ msgid "Accept" +#~ msgstr "Accepter" + +#~ msgid "Decline" +#~ msgstr "Décliner" + +#~ msgid "Name" +#~ msgstr "Nom" + +#~ msgid "Room" +#~ msgstr "Salle" + +#~ msgid "Server" +#~ msgstr "Serveur" + +#~ msgid "Auto Connect" +#~ msgstr "Connexion automatique" + +#~ msgid "Information requested..." +#~ msgstr "Requête des informations en cours..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "Voulez vous supprimer ce contact de votre liste de contacts ?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Veuillez saisir un nouveau nom pour ce groupe :\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Sélectionner" + +#~ msgid "Unsorted" +#~ msgstr "Non trié" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server." +#~ msgstr "" +#~ "Définissez l'alias à utiliser pour :\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Vous pouvez récupérer les informations du contact depuis le serveur." + +#~ msgid "New file transfer request from %s" +#~ msgstr "Nouvelle requête de transfert de fichier de %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "" +#~ "Le transfert de fichiers n'est pas pris en charge par les deux parties." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Votre proposition de transfert de fichier a été refusée." + +#~ msgid "The other user decided not to continue." +#~ msgstr "L'autre utilisateur a décidé de ne pas continuer." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Erreur inconnue durant le transfert de fichier." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s voudrait vous envoyer un fichier." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Quelqu'un souhaite vous envoyer un fichier." + +#~ msgid "Select a file" +#~ msgstr "Sélectionner un fichier" + +#~ msgid "Connecting..." +#~ msgstr "Connexion..." + +#~ msgid "Retry connection" +#~ msgstr "Réessayer la connexion" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "%s a été invité à joindre cette salle de discussion." + +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s a fixé le sujet : %s" + +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Saisissez le nouveau sujet à définir pour cette salle :" + +#~ msgid "%s has joined the room" +#~ msgstr "%s a rejoint la salle" + +#~ msgid "%s has left the room" +#~ msgstr "%s a quitté la salle" + +#~ msgid "Topic: %s" +#~ msgstr "Sujet : %s" + +#~ msgid "Account" +#~ msgstr "Compte" + +#~ msgid "Conversation With" +#~ msgstr "Conversation avec" + +#~ msgid "Date" +#~ msgstr "Date" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "" +#~ "Autoriser plusieurs instances du programme à s'exécuter en même temps" + +#~ msgid "List the available accounts" +#~ msgstr "Lister les comptes disponibles" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Sur quel compte se connecter au démarrage ?" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "NOM-DU-COMPTE" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "Vous ne pouvez pas utiliser --no-connect avec --account" + +#~ msgid "No accounts available." +#~ msgstr "Aucun compte disponible." + +#~ msgid "Available accounts:" +#~ msgstr "Comptes disponibles :" + +#~ msgid "[default]" +#~ msgstr "[par défaut]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Il n'y a pas de compte associé au nom « %s »." + +#~ msgid "Join" +#~ msgstr "Joindre" + +#~ msgid "Create" +#~ msgstr "Créer" + +#~ msgid "Chat Rooms" +#~ msgstr "Salles de discussion" + +#~ msgid "Found %d conference rooms" +#~ msgstr "%d salles de conférence trouvées" + +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Recherche des salles de conférence, veuillez patienter..." + +#~ msgid "Browsing cancelled!" +#~ msgstr "Recherche annulée !" + +#~ msgid "Default" +#~ msgstr "Par défaut" + +#~ msgid "Chat!" +#~ msgstr "Discuter !" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s souhaite être ajouté à votre liste de contacts." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Quelqu'un souhaite être ajouté à votre liste de contacts." + +#~ msgid "Subscription request" +#~ msgstr "Requête d'abonnement" + +#~ msgid "Show" +#~ msgstr "Afficher" + +#~ msgid "Contact Information" +#~ msgstr "Informations sur le contact" + +#~ msgid "Contact has been removed" +#~ msgstr "Le contact a été supprimé" + +#~ msgid "Subject: %s" +#~ msgstr "Sujet : %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Suggestions pour le mot" + +#~ msgid "New subscription request from %s" +#~ msgstr "Nouvelle demande d'abonnement de %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Voulez-vous ajouter cette personne à votre liste de contacts ?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Voulez-vous ajouter %s à votre liste de contacts ?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Veuillez saisir votre mot de passe du compte %s" + +#~ msgid "Logging in to account '%s'" +#~ msgstr "Connexion avec le compte « %s »" + +#~ msgid "Remember Password?" +#~ msgstr "Se souvenir du mot de passe ?" + +#~ msgid "Do not show this again" +#~ msgstr "Ne plus afficher à l'avenir" + +#~ msgid "Could not display the help contents." +#~ msgstr "Impossible d'afficher le contenu de l'aide." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Sélectionner votre avatar" + +#~ msgid "No Image" +#~ msgstr "Aucune image" + +#~ msgid "Cancel" +#~ msgstr "Annuler" + +#~ msgid "OK" +#~ msgstr "Valider" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Le serveur ne semble pas répondre." + +#~ msgid "Try again later." +#~ msgstr "Réessayez plus tard." + +#~ msgid "Change" +#~ msgstr "Modifier" + +#~ msgid "Contact goes offline" +#~ msgstr "Le contact s'est déconnecté" + +#~ msgid "Contact goes online" +#~ msgstr "Le contact s'est connecté" + +#~ msgid "Contact ID:" +#~ msgstr "ID du contact : " + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Acceptez-vous ce fichier ?" + +#~ msgid "File Transfer Request" +#~ msgstr "Demande de transfert de fichier" + +#~ msgid "File name:" +#~ msgstr "Nom du fichier :" + +#~ msgid "File size:" +#~ msgstr "Taille du fichier :" + +#~ msgid "Not supported yet" +#~ msgstr "Pas encore pris en charge" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Cette personne souhaite vous envoyer ce fichier :" + +#~ msgid "Web site:" +#~ msgstr "Site Web :" + +#~ msgid "_Accept" +#~ msgstr "_Accepter" + +#~ msgid "_Deny" +#~ msgstr "_Refuser" + +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Sujet :</b>" + +#~ msgid "Account:" +#~ msgstr "Compte :" + +#~ msgid "Browse:" +#~ msgstr "Parcourir :" + +#~ msgid "Edit Favorite Room" +#~ msgstr "Éditer les salles favorites" + +#~ msgid "" +#~ "Enter the room name to join here or click on one or more rooms in the " +#~ "list." +#~ msgstr "" +#~ "Saisissez le nom de salle à rejoindre ou cliquez sur une ou plusieurs " +#~ "salles dans la liste." + +#~ msgid "Group Chat" +#~ msgstr "Groupe de discussion" + +#~ msgid "Join New" +#~ msgstr "Joindre nouveau" + +#~ msgid "Join room on start_up" +#~ msgstr "Joindre la salle au _démarrage" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "" +#~ "Joindre cette salle de discussion quand Gossip démarre et que vous êtes " +#~ "connecté" + +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Gérer les salles favorites" + +#~ msgid "N_ame:" +#~ msgstr "_Nom :" + +#~ msgid "Re_fresh" +#~ msgstr "_Actualiser" + +#~ msgid "S_erver:" +#~ msgstr "_Serveur :" + +#~ msgid "" +#~ "This list represents all chat rooms hosted on the server you have entered." +#~ msgstr "" +#~ "Cette liste représente toutes les salles de discussion hébergées sur le " +#~ "serveur actuel." + +#~ msgid "_Nickname:" +#~ msgstr "_Pseudonyme :" + +#~ msgid "_Room:" +#~ msgstr "Sall_e :" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>À propos</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Informations du client</b>" + +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Groupes</b>" + +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Nom</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Informations personnelles</b>" + +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Abonnement</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "" +#~ "<span size=\"smaller\">Exemple : Jacques ou utilisateur@serveur.org</span>" + +#~ msgid "Accou_nt:" +#~ msgstr "_Compte :" + +#~ msgid "Add Contact" +#~ msgstr "Ajouter un contact" + +#~ msgid "Alia_s:" +#~ msgstr "Alia_s :" + +#~ msgid "Avatar:" +#~ msgstr "Avatar :" + +#~ msgid "Birthday:" +#~ msgstr "Anniversaire :" + +#~ msgid "C_hange" +#~ msgstr "_Modifier" + +#~ msgid "Ch_at" +#~ msgstr "_Discuter" + +#~ msgid "Client:" +#~ msgstr "Client :" + +#~ msgid "Con_tact:" +#~ msgstr "Con_tact :" + +#~ msgid "Connect on S_tartup" +#~ msgstr "Se connecter au _démarrage" + +#~ msgid "Contacts" +#~ msgstr "Contacts" + +#~ msgid "Country:" +#~ msgstr "Pays :" + +#~ msgid "Decide _Later" +#~ msgstr "Décider plus _tard" + +#~ msgid "Edit Contact" +#~ msgstr "Éditer un contact" + +#~ msgid "Edit Groups" +#~ msgstr "Édition des groupes" + +#~ msgid "Email:" +#~ msgstr "Courrier électronique :" + +#~ msgid "ID:" +#~ msgstr "ID :" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Si vous choisissez de décider plus tard, la question vous sera posée lors " +#~ "de votre prochaine connexion." + +#~ msgid "Name:" +#~ msgstr "Nom :" + +#~ msgid "OS:" +#~ msgstr "OS :" + +#~ msgid "Personal Details" +#~ msgstr "Informations personnelles" + +#~ msgid "R_egister" +#~ msgstr "_Enregistrer" + +#~ msgid "Search" +#~ msgstr "Rechercher" + +#~ msgid "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." +#~ msgstr "" +#~ "Sélectionnez les groupes auxquels ce contact appartiendra ; vous pouvez " +#~ "sélectionner plus d'un groupe ou aucun groupe." + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Définissez l'alias à utiliser pour :\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "Vous pouvez récupérer les informations du contact depuis le serveur." + +#~ msgid "Spell Checker" +#~ msgstr "Correcteur orthographique" + +#~ msgid "Subscription Request" +#~ msgstr "Requête d'abonnement" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Suggestions pour le mot : " + +#~ msgid "" +#~ "This acts as a filter to the contact list below.\n" +#~ "\n" +#~ "You can use segments of contact's name or ID, for example, \"jabber.org\" " +#~ "will list everyone using that server.\n" +#~ "\n" +#~ "You can also use the name of a group to show only contacts in a specific " +#~ "group." +#~ msgstr "" +#~ "Permet de filtrer la liste de contacts ci dessous.\n" +#~ "\n" +#~ "Vous pouvez utiliser des parties du nom ou de l'ID du contact ; par " +#~ "exemple, « jabber.org » va lister toutes les personnes utilisant ce " +#~ "serveur.\n" +#~ "\n" +#~ "Vous pouvez également utiliser le nom d'un groupe pour afficher " +#~ "uniquement les contacts d'un groupe spécifique." + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Filtre de la liste de contacts ci dessous. Vous pouvez utiliser des " +#~ "parties du nom ou de l'ID du contact ; par exemple, « jabber.org » va " +#~ "lister toutes les personnes utilisant ce serveur" + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Nom qui sera utilisé pour ce contact dans la liste de contacts" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "" +#~ "Ce nom sera utilisé pour vous identifier dans les fenêtres de discussion" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Ce nom sera présenté quand les nouveaux contacts demanderont votre " +#~ "identité." + +#~ msgid "Use default name here from the contact's VCard." +#~ msgstr "Utilisez ici le nom par défaut de la VCard du contact." + +#~ msgid "Use system pro_xy" +#~ msgstr "Utiliser le _proxy du système" + +#~ msgid "Version:" +#~ msgstr "Version :" + +#~ msgid "View Previous Conversations" +#~ msgstr "Afficher les conversations précédentes" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Quel compte voulez-vous utiliser ?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Vous n'êtes pas abonné à ce contact." + +#~ msgid "_Birthday:" +#~ msgstr "Anni_versaire :" + +#~ msgid "_Connect" +#~ msgstr "Se _connecter" + +#~ msgid "_Description:" +#~ msgstr "_Description :" + +#~ msgid "_Disconnect" +#~ msgstr "Se _déconnecter" + +#~ msgid "_Email:" +#~ msgstr "Cou_rrier électronique :" + +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Saisissez le nom ou l'identifiant de la personne avec qui vous souhaitez " +#~ "discuter ci-dessous :" + +#~ msgid "_For:" +#~ msgstr "À :" + +#~ msgid "_Full Name:" +#~ msgstr "_Nom complet :" + +#~ msgid "_Group:" +#~ msgstr "_Groupe :" + +#~ msgid "_Nick Name:" +#~ msgstr "Pseud_onyme :" + +#~ msgid "_Password:" +#~ msgstr "_Mot de passe :" + +#~ msgid "_Quit Message:" +#~ msgstr "Message de _déconnexion :" + +#~ msgid "_Retrieve" +#~ msgstr "_Récupérer" + +#~ msgid "_Search" +#~ msgstr "_Rechercher" + +#~ msgid "_Subscribe" +#~ msgstr "_S'abonner" + +#~ msgid "_Web site:" +#~ msgstr "Site _Web :" + +#~ msgid "irc account settings" +#~ msgstr "paramètres de compte irc" + +#~ msgid "msn account settings" +#~ msgstr "paramètres de compte msn" diff --git a/trunk/po/ga.po b/trunk/po/ga.po new file mode 100644 index 000000000..58d4b4775 --- /dev/null +++ b/trunk/po/ga.po @@ -0,0 +1,1141 @@ +# Irish (gaeilge) translations for gossip +# Copyright (C) 2004 Alastair McKinstry <mckinstry@computer.org> +# This file is distributed under the same license as the gossip package. +# Alastair McKinstry <mckinstry@computer.org>, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-01-02 07:20+0000\n" +"Last-Translator: Alastair McKinstry <mckinstry@computer.org>\n" +"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Gossip - Caint" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "_Taispeán Líosta Tadhall" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Gossip - Caint" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Taispeán Líosta Tadhall" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "" + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "" + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Taispeán Líosta Tadhall" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "Gossip - Caint" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Taispeán Líosta Tadhall" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Ceangail" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Ceangail" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "_Ealu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Ealu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Seomra:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Taispeán Líosta Tadhall" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +msgid "Disable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "Gossip - Caint" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "Ceangail" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "G_lan" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Ainm:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "_Pasfhocal:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "_Pasfhocal:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Freastalaí:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +#, fuzzy +msgid "Disconnected" +msgstr "Ceangail" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +#, fuzzy +msgid "Connected" +msgstr "Ceangail" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "G_lan" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +msgid "Invitation _message:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "_Taispeán Líosta Tadhall" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Gossip - Caint" +msgstr[1] "Gossip - Caint" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossip - Caint" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "Ceangail" +msgstr[1] "Ceangail" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "Gossip - Caint" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Gossip - Caint" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "Ainm:" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "_Leasainm:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "_Remove" +msgstr "S_críos" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "_Scríos" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossip - Caint" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "_Taispeán Líosta Tadhall" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Ceangail" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Taispeán Líosta Tadhall" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gossip - Caint" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "G_lan" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "G_lan" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Gossip - Caint" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Gossip - Caint" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "G_lan" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Gossip - Caint" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Earraidh gan aithne" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Earraidh gan aithne" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Earraidh gan aithne" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Gossip - Caint" + +#~ msgid "Home" +#~ msgstr "Baile" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Ceangail" + +#~ msgid "Connect" +#~ msgstr "Ceangail" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "Gossip - Caint" +#~ msgstr[1] "Gossip - Caint" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Ainm:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Seomra:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Ceangail" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Earraidh gan aithne" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Ceangail" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Ceangail" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "AINM-CÚNTAS" + +#~ msgid "[default]" +#~ msgstr "[gnáth]" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossip - Caint" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[gnáth]" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "_Leasainm:" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "Ceangail" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - Caint" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - Caint" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Ainm:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Freastalaí:" + +#~ msgid "_Nickname:" +#~ msgstr "_Leasainm:" + +#~ msgid "_Room:" +#~ msgstr "_Seomra:" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Ceangail" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Gossip - Caint" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "Gossip - Caint" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "Gossip - Caint" + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Ceangail" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "Gossip - Caint" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "Gossip - Caint" + +#, fuzzy +#~ msgid "Edit Groups" +#~ msgstr "Gossip - Caint" + +#~ msgid "Name:" +#~ msgstr "Ainm:" + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Cuardaigh..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Gossip - Caint" + +#~ msgid "Version:" +#~ msgstr "Leagan:" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Ceangail" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Leagan:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Pasfhocal:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Ainm:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Gossip - Caint" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Leasainm:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Pasfhocal:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Gossip - Caint" + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Ainm:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossip - Caint" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - Caint" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "_Leasainm:" + +#~ msgid "Server:" +#~ msgstr "Freastalaí:" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Níl" + +#~ msgid "_Search..." +#~ msgstr "_Cuardaigh..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Tá" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Caint" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Leagan:" + +#~ msgid "Details:" +#~ msgstr "Sonraí:" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Ó:" + +#~ msgid "To:" +#~ msgstr "Do:" + +#~ msgid "C_onnect" +#~ msgstr "C_eangail" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "_Add" +#~ msgstr "_Suim" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" diff --git a/trunk/po/hr.po b/trunk/po/hr.po new file mode 100644 index 000000000..390185d5c --- /dev/null +++ b/trunk/po/hr.po @@ -0,0 +1,1411 @@ +# Translation of gossip to Croatiann +# Copyright (C) Croatiann team +# Translators: Antun Krasic <butch@gawab.com>,Automatski Prijevod <>,Boris Tudan <boris.tudan@ka.htnet.hr>,Danijel Studen <dstuden@vuka.hr>,Ivan Jankovic <rbrrneck@gmx.net>,Nikola Planinac <>,Robert Sedak <robert.sedak@sk.tel.hr>, +msgid "" +msgstr "" +"Project-Id-Version: gossip 0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-03-21 00:40+CET\n" +"Last-Translator: auto\n" +"Language-Team: Croatian <lokalizacija@linux.hr>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: TransDict server\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Poruka o stanju" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Dodaj kontakt..." + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Visina prozora" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "" + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "" + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Neumreženo" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Dostupno" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Zauzeto" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Odsutan" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Dodaj kontakt..." + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Grupa" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "_Dodaj kontakt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Dodaj kontakt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Spoji" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Prihvati" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Prihvati" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Dodaj kontakt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Razgovor" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Spoji" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Nova poruka..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Osobne informacije" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Podešenja" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "_Konverzacija" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Status" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "lokalizacija@linux.hr" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Dostupno" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "Država:" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "Država:" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "Država:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "Država:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "Status" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Razgovor" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Ime:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "_Lozinka:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "_Resurs:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "_Port:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Poslužitelj:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Veza prekinuta" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Spojen" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "O_briši" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Razgovor" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "_Kontaktne informacije" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Razgovor" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +msgid "Invitation _message:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "_Pomakni Tab lijevo" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "_Pomakni tab desno" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Konverzacija" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Odvoji tab" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Sljedeći tab" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Prethodni tab" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "_Dodaj kontakt..." + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "Ta_b" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Kopiraj adresu linka" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Osvježi tabulatore" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_Nova poruka..." +msgstr[1] "_Nova poruka..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Razgovor" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Konverzacija" +msgstr[1] "_Konverzacija" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "_Dodaj kontakt..." + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Grupa" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Dodaj kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "_Kontaktne informacije" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Informacije o kontaktu" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "_/Preimenuj grupu" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "_Korisničko ime:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "_Remove" +msgstr "_Ukloni" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "_Ukloni" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Razgovor" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Odaberi" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "_Konverzacija" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Izgled" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "Status" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "Status" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Status" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Spoji" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "Status" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Podešenja" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Dodaj kontakt..." + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "_Nova poruka..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "O_briši" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "O_briši" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Poruka o stanju" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Poruka o stanju" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s je otišao sa mreže" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s dolazi na vezu" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "O_briši" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Poruka o stanju" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Spoji" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Nepoznata greška" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Nepoznata greška" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Dostupno" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Nepoznata greška" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Spojen" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Spojen" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Država:" + +#~ msgid "Home" +#~ msgstr "Polazno" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Opis" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Prekini vezu" + +#~ msgid "Connect" +#~ msgstr "Spoji" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Molimo unesite vašu lozinku:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Molimo unesite vašu lozinku:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "Molimo unesite vašu lozinku:" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_Nova poruka..." +#~ msgstr[1] "_Nova poruka..." + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Prihvati" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Ime:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Razgovor" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Spoji" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "Spojen" + +#~ msgid "Select" +#~ msgstr "Odaberi" + +#~ msgid "Unsorted" +#~ msgstr "Nesortirano" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Nepoznata greška" + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Odaberi" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_Spoji..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Spoji" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Konverzacija" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "IME-RAČUNA" + +#~ msgid "[default]" +#~ msgstr "&Uobičajena pisma" + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Spoji" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Razgovor" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "&Uobičajena pisma" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Razgovor" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s će biti dodan na Vašu kontakt listu" + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "%s će biti dodan na Vašu kontakt listu" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "_Kontaktne informacije" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "%s će biti dodan na Vašu kontakt listu" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "%s će biti dodan na Vašu kontakt listu" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Molimo unesite vašu lozinku:" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Razgovor" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "%s dolazi na vezu" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "_Korisničko ime:" + +#~ msgid "_Accept" +#~ msgstr "_Prihvati" + +#~ msgid "_Deny" +#~ msgstr "_Odbij" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "Status" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Država:" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Grupa" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Spoji" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Ime:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Poslužitelj:" + +#~ msgid "_Nickname:" +#~ msgstr "_Nadimak:" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "_Kontaktne informacije" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "Status" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "Status" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Spoji" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Država:" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "_Dodaj kontakt..." + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Razgovor" + +#~ msgid "Client:" +#~ msgstr "Klijent:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "_Dodaj kontakt..." + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Spojen" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "_Dodaj kontakt..." + +#~ msgid "Country:" +#~ msgstr "Država:" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "_Dodaj kontakt..." + +#, fuzzy +#~ msgid "Edit Groups" +#~ msgstr "Grupa" + +#~ msgid "Email:" +#~ msgstr "E-pošta:" + +#~ msgid "Name:" +#~ msgstr "Ime:" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Opis" + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Traži..." + +#~ msgid "Version:" +#~ msgstr "Inačica:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "_Konverzacija" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Spoji" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Opis" + +#~ msgid "_Disconnect" +#~ msgstr "_Prekini vezu" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "E-pošta:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Port:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Ime:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Grupa" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Nadimak:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Lozinka:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "_Nova poruka..." + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "Spoji" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s će biti dodan na Vašu kontakt listu" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Molimo unesite vašu lozinku:" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/Kontakt_informacije" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "_/Preimenuj grupu" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "_Konverzacija" + +#~ msgid "Conversation Log" +#~ msgstr "Dnevnik razgovora" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Razlog:" + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Ime:" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Podešavanje je završeno" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "_Nadimak:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "_Port:" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "_Resurs:" + +#~ msgid "Server:" +#~ msgstr "Poslužitelj:" + +#~ msgid "Your Identity" +#~ msgstr "Identitet" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Grupa" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Ne" + +#~ msgid "_Search..." +#~ msgstr "_Traži..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Da" + +#~ msgid "The width of the main window." +#~ msgstr "Širina prozora" + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "_Informacije o računu" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "_Nova poruka..." + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s je otišao sa mreže" + +#~ msgid "Available..." +#~ msgstr "Dostupno..." + +#~ msgid "Busy..." +#~ msgstr "Zauzet..." + +#~ msgid "Away..." +#~ msgstr "Odsutan..." + +#~ msgid "Contact _Information" +#~ msgstr "_Kontaktne informacije" + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "_Port:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Osobne informacije" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "_Informacije o računu" + +#~ msgid "%sChat - %s" +#~ msgstr "%sChat - %s" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Inačica:" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Dodaj kontakt" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "_Kontaktne informacije" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "_Nova poruka..." + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Podešenja" + +#~ msgid "%s wants to be notified of your presence." +#~ msgstr "%s želi biti obavješten o vašoj prisutnosti." + +#~ msgid "Edit List..." +#~ msgstr "Uredi Popis..." + +#~ msgid "Details:" +#~ msgstr "Detalji:" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Od:" + +#~ msgid "To:" +#~ msgstr "Za:" + +#~ msgid "_Reply..." +#~ msgstr "_Odgovori..." + +#~ msgid "_Send" +#~ msgstr "_Pošalji" + +#~ msgid "C_onnect" +#~ msgstr "_Spoji" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "N_ickname:" +#~ msgstr "_Nadimak:" + +#~ msgid "_Add" +#~ msgstr "_Dodaj" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sound" +#~ msgstr "Zvuk" diff --git a/trunk/po/hu.po b/trunk/po/hu.po new file mode 100644 index 000000000..ad092fe8e --- /dev/null +++ b/trunk/po/hu.po @@ -0,0 +1,1720 @@ +# Hungarian translation of gossip +# This file is distributed under the same license as the gossip package. +# Copyright (C) 2005, 2006, Free Software Foundation, Inc. +# +# Gabor Kelemen <kelemeng@gnome.hu>, 2005, 2006. +msgid "" +msgstr "" +"Project-Id-Version: gossip.HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-11-29 04:48+0100\n" +"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n" +"Language-Team: Hungarian <gnome@gnome.hu>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Azonnali üzenetküldő" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Azonnali üzenetküldő" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Mindig külön ablakot nyisson az új csevegéseknek." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Csevegőablak témája" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"A helyesírás-ellenőrző által használandó nyelvek vesszővel elválasztott " +"listája (például en, fr, hu)." + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "Tömör partnerlista" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Alapértelmezett könyvtár avatar kép kiválasztásához" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Felugró ablak engedélyezése partner elérhetővé válásakor" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Hang engedélyezése, ha távol vagyok" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Hang engedélyezése, ha elfoglalt vagyok" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "Helyesírás-ellenőrző engedélyezése" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Főablak elrejtése" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "A főablak elrejtése." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Új csevegések megnyitása külön ablakokban" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Avatarok mutatása" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "Tanács megjelenítése a főablak bezárásakor" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Kilépett partnerek mutatása" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Helyesírás-ellenőrző nyelvei" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "Az utolsó könyvtár, amelyből egy avatar kép kiválasztásra került." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "A beszélgetés megjelenítésére használt téma a csevegőablakokban." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Grafikus hangulatjelek használata" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Értesítő hangok használata" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "Téma használata a csevegőszobákhoz" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "A beírt szavak ellenőrzése az ellenőrizni kívánt nyelveken." + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Hangulatjelek képekké alakítása társalgások közben." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Lejátsszon-e hangot üzenetek érkezésekor?" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Lejátsszon-e hangot ha Ön távol van?" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Lejátsszon-e hangot ha Ön elfoglalt?" + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Megjelenjen-e egy felugró ablak egy partner elérhetővé válásakor?" + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Megjelenjenek-e az avatarok a partnerekhez a partnerlistában és " +"csevegőablakokban?" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Kilépett partnerek mutatása a partnerlistában." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"Megjelenjen-e párbeszédablak a főablak bezárásakor a címsor X gombjával." + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "Megjelenjen-e a partnerlista tömör módban." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "A téma használata csevegőszobákhoz." + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Kilépett" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Elérhető" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Elfoglalt" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Távol" + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "Fiókok megjelenítése és szerkesztése" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Csoport" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "Partner" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "Partnerlista m_utatása" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "Környezet" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "_Csatlakozás a kedvencekhez" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Csatlakozás ú_jhoz..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "Kedvencek kezelése..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Kilé_pett partnerek mutatása" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "_Névjegy" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Fiókok" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "Partner _felvétele..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Csevegés" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Tartalom" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "S_zerkesztés" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "_Súgó" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "Ú_j üzenet..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "S_zemélyes információk" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Beállítások" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Kilépés" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "Sz_oba" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "K_orábbi társalgások megjelenítése" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Állapot" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "Partnerlista m_utatása" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"A Gossip szabad szoftver, terjesztheti és/vagy módosíthatja a Free " +"Software Foundation által kiadott GNU General Public License második (vagy " +"bármely későbbi) változatában foglaltak alapján." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"A Gossip programot abban a reményben terjesztjük, hogy hasznos lesz, de nem " +"vállalunk SEMMIFÉLE GARANCIÁT, még olyan értelemben sem, hogy a program " +"alkalmas-e a KÖZREADÁSRA vagy EGY BIZONYOS FELADAT ELVÉGZÉSÉRE. További " +"részletekért tanulmányozza a GNU GPL licencet." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"A Gossip programhoz a GNU General Public License egy példánya is jár, ha nem " +"kapta meg, írjon a Free Software Foundation Inc.-nek. Levélcímük: 51 " +"Franklin Street, Fifth Floor, Boston, MA 02110-130159 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "Egy azonnali üzenőkliens a GNOME-hoz" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "Kelemen Gábor <kelemeng@gnome.hu>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Elérhető" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "<b>Nincs kiválasztva fiók</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"Új fiók hozzáadásához kattintson a Hozzáadás gombra és létrejön egy új " +"bejegyzés a beállítás elkezdéséhez.\n" +"\n" +"Ha nem kíván fiókot hozzáadni, akkor kattintson a beállítani kívánt fiókra a " +"bal oldali listában." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Nincsenek beállítva fiókok</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" +"Új fiók hozzáadásához kattintson a Hozzáadás gombra és létrejön egy új " +"bejegyzés a beállítás elkezdéséhez." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Fiókok" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"A(z) %s fiókjának eltávolítására készül!\n" +"Biztosan folytatni akarja?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"A társított társalgások és csevegőszobák NEM kerülnek törlésre ha a " +"folytatást választja.\n" +"\n" +"Ha később a fiók visszaállítása mellett dönt, akkor ezek elérhetővé válnak." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Fiók</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Fiók</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +msgid "<b>Settings</b>" +msgstr "<b>Beállítások</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Létrehozás" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"Új fiók hozzáadásához kattintson a Hozzáadás gombra és létrejön egy új " +"bejegyzés a beállítás elkezdéséhez.\n" +"\n" +"Ha nem kíván fiókot hozzáadni, akkor kattintson a beállítani kívánt fiókra a " +"bal oldali listában." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Név:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Téma:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "%s:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "Bejelentkezési a_zonosító:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "_Jelszó:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "_Erőforrás:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "_Titkosítás használata (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Port:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Kiszolgáló:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "jabber fiókbeállítások" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Kapcsolat bontva" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Hangulatjel beszúrása" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "Szó _helyesírásának ellenőrzése..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Kapcsolódva" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Törlés" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Csevegés" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "_Partnerinformációk" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "_Kivágás" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "_Meghívás" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Ha_ngulatjel beszúrása" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Meghívó üzenetet:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "Meghívás" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Lap _balra" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Lap j_obbra" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "Válassza ki, hogy kit szeretne meghívni:" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Meghívást kapott egy konferenciacsevegésre." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "_Hozzáadás a kedvencekhez" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "_Bezárás" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Társalgás" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "_Másolás" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Lap leválasztása" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Következő lap" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "_Beillesztés" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Előző lap" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "Partnerek _mutatása" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Lapok" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "Hivatkozás cí_mének másolása" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Hivatkozás megnyitása" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%y. %B %e %A" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Új üzenet" +msgstr[1] "Új üzenet" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Csevegőszobák" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Társalgás" +msgstr[1] "_Társalgás" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Üzenet írása." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "_Partner" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "_Csoport" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "Csevegés partnerrel" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "_Információk" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "Partnerinformációk megjelenítése" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "Át_nevezés" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "Átnevezés" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "Partner csoportjainak és nevének szerkesztése" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Eltávolítás" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "Partner eltávolítása" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "Meg_hívás csevegőszobába" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "Meghívás egy jelenleg megnyitott csevegőszobába" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "_Fájl küldése..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "Fájl küldése" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "A partnerrel folytatott korábbi társalgások megjelenítése" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Nyelv" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Megjelenés</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Audio</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Viselkedés</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Állapot</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Nyelvek</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Beállítások</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Látvány</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>Ezen az oldalon csak azok a nyelvek vannak felsorolva, amelyekhez " +"telepítve van szótár.</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" +"Az avatarok a felhasználó által kiválasztott és a partnerlistában megjelenő " +"képek" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "Csevegés té_mája:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Értesítések _megjelenítése, ha a partnerek elérhetővé válnak" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Hangok engedélyezése, ha _távol vagyok" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Hangok engedélyezése, ha el_foglalt vagyok" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Általános" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Értesítések" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Beállítások" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "_Avatarok megjelenítése" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Hang_ulatjelek képekké alakítása" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "_Tömör partnerlista mutatása" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Helyesírás-ellenőrzés" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "Témák" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "_Helyesírás-ellenőrzés bekapcsolása" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "Új csevegések megnyitása _külön ablakokban" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Hang lejátszása üzenetek érkezésekor" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "Használat _csevegőszobákhoz" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Egyéni üzenet..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Lista törlése..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "Ki kívánja üríteni a listát?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"Ez eltávolít minden egyéni üzenetet, amit az előre beállított " +"állapotüzenetek listájához adott." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Lista törlése" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Adja meg az állapotüzenetet:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Állapotüzenetek listája" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "H_ozzáadás az állapotüzenetek listájához" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s kilépett" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s elérhetővé vált" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Klasszikus" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Egyszerű" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Tiszta" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Kék" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Ne kapcsolódjon indításkor" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Gossip azonnali üzenetküldő" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Gossip azonnali üzenetküldő" + +#~ msgid "Normal" +#~ msgstr "Normál" + +#~ msgid "Joining" +#~ msgstr "Csatlakozik" + +#~ msgid "Active" +#~ msgstr "Aktív" + +#~ msgid "Inactive" +#~ msgstr "Inaktív" + +#~ msgid "Unknown" +#~ msgstr "Ismeretlen" + +#~ msgid "Error" +#~ msgstr "Hiba" + +#~ msgid "Moderator" +#~ msgid_plural "Moderators" +#~ msgstr[0] "Moderátor" +#~ msgstr[1] "Moderátorok" + +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "Résztvevő" +#~ msgstr[1] "Résztvevők" + +#~ msgid "Visitor" +#~ msgid_plural "Visitors" +#~ msgstr[0] "Látogató" +#~ msgstr[1] "Látogatók" + +#~ msgid "No role" +#~ msgstr "Nincs szerep" + +#~ msgid "Owner" +#~ msgid_plural "Owners" +#~ msgstr[0] "Tulajdonos" +#~ msgstr[1] "Tulajdonosok" + +#~ msgid "Administrator" +#~ msgid_plural "Administrators" +#~ msgstr[0] "Adminisztrátor" +#~ msgstr[1] "Adminisztrátorok" + +#~ msgid "Member" +#~ msgid_plural "Members" +#~ msgstr[0] "Tag" +#~ msgstr[1] "Tagok" + +#~ msgid "Outcast" +#~ msgid_plural "Outcasts" +#~ msgstr[0] "Száműzött" +#~ msgstr[1] "Száműzöttek" + +#~ msgid "No affiliation" +#~ msgstr "Nincs kapcsolat" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "A választott becenév már használatban van." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "A csevegőszoba, amelyhez csatlakozni próbált, jelszót igényel." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "" +#~ "A távoli konferenciakiszolgáló nem válaszolt elfogadható időn belül." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "" +#~ "A konferenciakiszolgáló, amelyhez csatlakozni próbált, nem található." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Ismeretlen hiba történt, ellenőrizze adatai helyességét." + +#~ msgid "Unavailable" +#~ msgstr "Nem érhető el" + +#~ msgid "An unknown error occurred." +#~ msgstr "Ismeretlen hiba történt." + +#~ msgid "Connection refused." +#~ msgstr "Kapcsolat visszautasítva." + +#~ msgid "Server address could not be resolved." +#~ msgstr "A kiszolgáló címe nem oldható fel." + +#~ msgid "Connection timed out." +#~ msgstr "A kapcsolódás időtúllépés miatt sikertelen." + +#~ msgid "Authentication failed." +#~ msgstr "Hitelesítés sikertelen." + +#~ msgid "The username you are trying already exists." +#~ msgstr "A választott becenév már létezik." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "A választott becenév nem érvényes." + +#~ msgid "This feature is unavailable." +#~ msgstr "Ez a szolgáltatás nem áll rendelkezésre." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Ez a szolgáltatás nincs felhatalmazva." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "Egy adott váratlan protokollhiba történt." + +#~ msgid "new account" +#~ msgstr "új fiók" + +#~ msgid "Home" +#~ msgstr "Saját mappa" + +#~ msgid "Couldn't send message!" +#~ msgstr "Nem lehet üzenetet küldeni!" + +#~ msgid "Connection could not be opened" +#~ msgstr "A kapcsolat nem nyitható meg" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Ez a szolgáltatás nem áll rendelkezésre." + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Ez a szolgáltatás nincs felhatalmazva." + +#~ msgid "Stop" +#~ msgstr "Leállítás" + +#~ msgid "Disconnect" +#~ msgstr "Bontás" + +#~ msgid "Connect" +#~ msgstr "Kapcsolódás" + +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Az új fiókbeállítások sikeresen regisztrálva." + +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "Mostantól kapcsolódhat az új fiókjához." + +#~ msgid "Failed to register your new account settings." +#~ msgstr "Az új fiók beállításainak regisztrálása meghiúsult" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Az új fiókbeállítások sikeresen regisztrálva." + +#, fuzzy +#~ msgid "You should now be able to connect with your new password." +#~ msgstr "Mostantól kapcsolódhat az új fiókjához." + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Kérem adja meg a(z) %s fiókjának jelszavát" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Kérem adjon meg egy új nevet a következő csoportnak:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Nem állnak rendelkezésre információk erről a partnerről." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Információk lekérve, kérem várjon..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Szeretném hozzáadni Önt a partnerlistámhoz." + +#~ msgid "To summarize:" +#~ msgstr "Összegzendő:" + +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "%d új üzenet" +#~ msgstr[1] "%d új üzenet" + +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "%d feliratkozási kérés" +#~ msgstr[1] "%d feliratkozási kérés" + +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "%d fájlátviteli kérés" +#~ msgstr[1] "%d fájlátviteli kérés" + +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "%d kiszolgálóüzenet" +#~ msgstr[1] "%d kiszolgálóüzenet" + +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "%d hiba" +#~ msgstr[1] "%d hiba" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Ha kilép, minden olvasatlan információt elveszít." + +#~ msgid "Gossip is still running, it is just hidden." +#~ msgstr "A Gossip még fut, csak el van rejtve." + +#~ msgid "Click on the notification area icon to show Gossip." +#~ msgstr "A Gossip megjelenítéséhez kattintson az értesítési terület ikonra." + +#~ msgid "You were about to quit!" +#~ msgstr "Megpróbált kilépni" + +#~ msgid "" +#~ "Since no system or notification tray has been found, this action would " +#~ "normally quit Gossip.\n" +#~ "\n" +#~ "This is just a reminder, from now on, Gossip will quit when performing " +#~ "this action unless you uncheck the option below." +#~ msgstr "" +#~ "Mivel nem található rendszertálca vagy értesítési terület, ez a művelet " +#~ "normális esetben kilép a Gossipból.\n" +#~ "\n" +#~ "Ez csak egy emlékeztető, mostantól a Gossip ezen művelet végrehajtásakor " +#~ "kilép, hacsak nem jelöli be az alábbi lehetőséget." + +#~ msgid "Edit Account _Details" +#~ msgstr "A _fiók részleteinek szerkesztése" + +#~ msgid "Click to enlarge" +#~ msgstr "Kattintson ide a nagyításhoz" + +#~ msgid "Word" +#~ msgstr "Szó" + +#~ msgid "Select who would you like to invite to room:" +#~ msgstr "Válassza ki, hogy kit szeretne meghívni a szobába:" + +#~ msgid "Select which room you would like to invite:" +#~ msgstr "Válassza ki, hogy melyik szobát szeretné meghívni:" + +#~ msgid "New message from %s" +#~ msgstr "Új üzenet a következőtől: %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "A meghívását elutasították" + +#~ msgid "Accept" +#~ msgstr "Elfogadás" + +#~ msgid "Decline" +#~ msgstr "Elutasítás" + +#~ msgid "Name" +#~ msgstr "Név" + +#~ msgid "Room" +#~ msgstr "Szoba" + +#~ msgid "Auto Connect" +#~ msgstr "Automatikus kapcsolódás" + +#~ msgid "Information requested..." +#~ msgstr "Információk lekérve..." + +# fixme: wtf is a "roster"? +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "El szeretné távolítani ezt a partnert a névsorból?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Kérem adjon meg egy új nevet a következő csoportnak:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Kijelölés" + +#~ msgid "Unsorted" +#~ msgstr "Rendezetlen" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server." +#~ msgstr "" +#~ "Állítsa be a használni kívánt álnevet a következőhöz:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "A kiszolgálóról lekérheti a partnerinformációkat." + +#~ msgid "New file transfer request from %s" +#~ msgstr "Új fájlküldési kérés a következőtől: %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "A fájlátvitelt nem támogatja mindkét fél." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "A fájl átvitelét visszautasították." + +#~ msgid "The other user decided not to continue." +#~ msgstr "A másik felhasználó a megszakítást választotta." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Ismeretlen hiba lépett fel a fájlátvitel közben." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s szeretne egy fájlt küldeni Önnek." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Valaki szeretne egy fájlt küldeni Önnek." + +#~ msgid "Select a file" +#~ msgstr "Válasszon ki egy fájlt" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Kapcsolódás" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "%s meghívva erre a konferenciacsevegésre." + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s beállította a témakört" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "%s beállította a témakört" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "%s beállította a témakört" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Téma:" + +#~ msgid "Account" +#~ msgstr "Fiók" + +#~ msgid "Conversation With" +#~ msgstr "Társalgás a következővel:" + +#~ msgid "Date" +#~ msgstr "Dátum" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "Az alkalmazás több példánya futhat egyidejűleg" + +#~ msgid "List the available accounts" +#~ msgstr "A rendelkezésre álló fiókok listája" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Melyik fiókhoz kapcsolódjon indításkor" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "FIÓKNÉV" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "Nem használhatja a --no-connect és a --account kapcsolókat" + +#~ msgid "No accounts available." +#~ msgstr "Nem állnak rendelkezésre fiókok." + +#~ msgid "Available accounts:" +#~ msgstr "Rendelkezésre álló fiókok:" + +#~ msgid "[default]" +#~ msgstr "[alapértelmezett]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "\"%s\" nevű fiók nem létezik." + +#~ msgid "Join" +#~ msgstr "Csatlakozás" + +#~ msgid "Create" +#~ msgstr "Létrehozás" + +#~ msgid "Chat Rooms" +#~ msgstr "Csevegőszobák" + +#~ msgid "Found %d conference rooms" +#~ msgstr "%d konferenciaszoba található" + +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Konferenciaszobák keresése, kérem várjon..." + +#~ msgid "Browsing cancelled!" +#~ msgstr "A keresés megszakítva" + +#~ msgid "Default" +#~ msgstr "Alapértelmezett" + +#~ msgid "Chat!" +#~ msgstr "Csevegés!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s szeretne felkerülni az Ön partnerlistájára." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Valaki szeretne felkerülni az Ön partnerlistájára." + +#~ msgid "Subscription request" +#~ msgstr "Feliratkozási kérés" + +#~ msgid "Show" +#~ msgstr "Megjelenítés" + +#~ msgid "Contact Information" +#~ msgstr "Partnerinformációk" + +#~ msgid "Subject: %s" +#~ msgstr "Tárgy: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Javaslat a szóra" + +#~ msgid "New subscription request from %s" +#~ msgstr "Új feliratkozási kérés a következőtől: %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Szeretné ezt a személyt felvenni a partnerlistájára?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Szeretné felvenni a következőt: %s a partnerlistájára?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Kérem adja meg a(z) %s fiókjának jelszavát" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "Bejelentkezés a következővel: %s" + +#~ msgid "Remember Password?" +#~ msgstr "Jelszó megjegyzése?" + +#~ msgid "Do not show this again" +#~ msgstr "Ne mutassa ezt újra" + +#~ msgid "Could not display the help contents." +#~ msgstr "Nem lehet megjeleníteni a súgótartalmat." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Válassza ki az avatarját" + +#~ msgid "No Image" +#~ msgstr "Nincs kép" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Úgy tűnik, a kiszolgáló nem válaszol." + +#~ msgid "Try again later." +#~ msgstr "Próbálja újra később." + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Csevegés" + +#~ msgid "Contact goes offline" +#~ msgstr "A partner kilép" + +#~ msgid "Contact goes online" +#~ msgstr "A partner belép" + +#~ msgid "Contact ID:" +#~ msgstr "Partnerazonosító:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Szeretné elfogadni ezt a fájlt?" + +#~ msgid "File Transfer Request" +#~ msgstr "Fájlátviteli kérés" + +#~ msgid "File name:" +#~ msgstr "Fájlnév:" + +#~ msgid "File size:" +#~ msgstr "Fájl mérete:" + +#~ msgid "Not supported yet" +#~ msgstr "Még nem támogatott" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Ez a személy a következő fájlt kívánja Önnek küldeni:" + +#~ msgid "Web site:" +#~ msgstr "Weboldal:" + +#~ msgid "_Accept" +#~ msgstr "Elfog_adás" + +#~ msgid "_Deny" +#~ msgstr "_Megtagad" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Csoportok</b>" + +#~ msgid "Account:" +#~ msgstr "Fiók:" + +#~ msgid "Browse:" +#~ msgstr "Keresés:" + +#~ msgid "Edit Favorite Room" +#~ msgstr "Kedvenc szoba szerkesztése" + +#~ msgid "" +#~ "Enter the room name to join here or click on one or more rooms in the " +#~ "list." +#~ msgstr "" +#~ "Itt adja meg a szoba nevét a csatlakozáshoz, vagy kattintson néhány, a " +#~ "listán látható szobára." + +#~ msgid "Group Chat" +#~ msgstr "Csoportos csevegés" + +#~ msgid "Join New" +#~ msgstr "Csatlakozás újhoz" + +#~ msgid "Join room on start_up" +#~ msgstr "_Csatlakozás a szobához indításkor" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "Csatlakozás ehhez a csevegőszobához a Gossip indításakor" + +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Kedvenc szobák kezelése" + +#~ msgid "N_ame:" +#~ msgstr "Né_v:" + +#~ msgid "Re_fresh" +#~ msgstr "_Frissítés" + +#~ msgid "S_erver:" +#~ msgstr "_Kiszolgáló:" + +#~ msgid "" +#~ "This list represents all chat rooms hosted on the server you have entered." +#~ msgstr "A lista a kiszolgálón található összes csevegőszobát képviseli." + +#~ msgid "_Nickname:" +#~ msgstr "_Becenév:" + +#~ msgid "_Room:" +#~ msgstr "Sz_oba:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>Névjegy</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Kliensinformációk</b>" + +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Csoportok</b>" + +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Név</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Személyes információk</b>" + +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Feliratkozás</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "" +#~ "<span size=\"smaller\">Például: Gábor vagy felhasználó@jabber.org</span>" + +#~ msgid "Accou_nt:" +#~ msgstr "_Fiók:" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "Partner _felvétele..." + +#~ msgid "Alia_s:" +#~ msgstr "Ál_név:" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Ch_at" +#~ msgstr "_Csevegés" + +#~ msgid "Client:" +#~ msgstr "Kliens:" + +#~ msgid "Con_tact:" +#~ msgstr "_Partner:" + +#~ msgid "Connect on S_tartup" +#~ msgstr "_Kapcsolódás indításkor" + +#~ msgid "Contacts" +#~ msgstr "Partnerek" + +#~ msgid "Country:" +#~ msgstr "Ország:" + +#~ msgid "Decide _Later" +#~ msgstr "_Döntés később" + +#~ msgid "Edit Contact" +#~ msgstr "Partner hozzáadása" + +#~ msgid "Edit Groups" +#~ msgstr "Csoportok szerkesztése" + +#~ msgid "Email:" +#~ msgstr "E-mail:" + +#~ msgid "ID:" +#~ msgstr "Azonosító:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Ha a későbbi döntést választja, a következő bejelentkezésnél válaszolhat " +#~ "a kérdésre." + +#~ msgid "Name:" +#~ msgstr "Név:" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#~ msgid "Personal Details" +#~ msgstr "Személyes adatok" + +#~ msgid "R_egister" +#~ msgstr "_Regisztráció" + +#~ msgid "Search" +#~ msgstr "Keresés" + +#~ msgid "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." +#~ msgstr "" +#~ "Válassza ki azokat a csoportokat, amelyekben a partner megjelenjen, " +#~ "kiválaszthat nulla vagy több csoportot is." + +#, fuzzy +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Állítsa be a használni kívánt álnevet a következőhöz:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "A kiszolgálóról lekérheti a partnerinformációkat." + +#~ msgid "Spell Checker" +#~ msgstr "Helyesírás-ellenőrző" + +#~ msgid "Subscription Request" +#~ msgstr "Feliratkozási kérés" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Javaslatok a szóhoz:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Ez a lenti partnerlista szűrőjeként működik. A partnerek neveinek vagy " +#~ "azonosítójának darabjait használhatja, például a \"jabber.hu\" mindenkit " +#~ "felsorol, aki ezt a kiszolgálót használja" + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "A partnerhez a névsorban ez a név kerül felhasználásra" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Ön ezzel a névvel lesz azonosítva a csevegőablakokban" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Ön ezzel a névvel lesz azonosítva amikor az új partnerek kikeresik a " +#~ "részleteit" + +#~ msgid "Use default name here from the contact's VCard." +#~ msgstr "Az alapértelmezett név használata a partner VCard-jából." + +#~ msgid "Use system pro_xy" +#~ msgstr "Ren_dszerproxy használata" + +#~ msgid "Version:" +#~ msgstr "Verzió:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Korábbi társalgások megjelenítése" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Melyik fiókot szeretné használni?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Nincs feliratkozva erre a partnerre." + +#~ msgid "_Connect" +#~ msgstr "Kapcs_olódás" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Leírás:" + +#~ msgid "_Disconnect" +#~ msgstr "_Bontás" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "E-mail:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Adja meg a felhasználó nevét vagy partnerazonosítóját, akivel csevegni " +#~ "szeretne:" + +#~ msgid "_For:" +#~ msgstr "_Ehhez:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "_Név:" + +#~ msgid "_Group:" +#~ msgstr "_Csoport:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Becenév:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Jelszó:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Új üzenet" + +#~ msgid "_Retrieve" +#~ msgstr "_Lekérés" + +#~ msgid "_Subscribe" +#~ msgstr "_Feliratkozás" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Weboldal:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "jabber fiókbeállítások" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "jabber fiókbeállítások" + +#~ msgid "Server" +#~ msgstr "Kiszolgáló" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "Group:" +#~ msgstr "Csoport:" + +#~ msgid "Nickname:" +#~ msgstr "Becenév:" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Állítsa be a használni kívánt álnevet a következőhöz:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "A kiszolgálóról lekérheti a partnerinformációkat." + +#~ msgid "Web Site:" +#~ msgstr "Weboldal:" + +#~ msgid "_Forget" +#~ msgstr "_Felejtse el" diff --git a/trunk/po/it.po b/trunk/po/it.po new file mode 100644 index 000000000..7b403cfaf --- /dev/null +++ b/trunk/po/it.po @@ -0,0 +1,2392 @@ +# Gossip Italian translation +# Copyright (C) Fabio Bonelli, Michele Baldessari +# This file is distributed under the same license as the Gossip package. +# Fabio Bonelli <fabiobonelli@libero.it>, 2003 +# Michele Baldessari <michele@pupazzo.org>, 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: Gossip 0.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-06-17 13:15+0200\n" +"Last-Translator: Michele Baldessari <michele@pupazzo.org>\n" +"Language-Team: Italian <tp@lists.linux.it>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Messaggistica istantanea" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Messaggistica istantanea" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Apri sempre in una finestra separata le nuove conversazioni" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Tema finestra di chat" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "Lista dizionari, separare gli elementi con virgole (es. en, fr, nl)." + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Aggiungi all'elenco dei contatti" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Directory degli avatar predefinita" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Mostra un popup quando un contatto è disponibile" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Disabilitare i suoni quando _assente" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Disa_bilitare i suoni quando occupato" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Gossip - Invio messaggio" + +#: ../data/empathy.schemas.in.h:11 +#, fuzzy +msgid "Hide main window" +msgstr "Larghezza finestra principale" + +#: ../data/empathy.schemas.in.h:12 +#, fuzzy +msgid "Hide the main window." +msgstr "Larghezza finestra principale" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Apri nuove conversazioni in finestre separate" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "Mo_stra elenco contatti" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "L'altezza finestra principale." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Mostra elenco contatti offline" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Lingue controllo ortografico" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "L'ultima directory da cui è stato scelto un avatar." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Il tema usato nelle finestre di chat" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Utilizzare faccine" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Utilizzare suoni di notifica" + +#: ../data/empathy.schemas.in.h:22 +#, fuzzy +msgid "Use theme for chat rooms" +msgstr "Partecipa alla chat room" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Convertire o meno le faccine in immagini grafiche durante la conversazione." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Emettere un suono all'arrivo di un messaggio." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Utilizzare i suoni o meno quando si è assenti." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Utilizzare i suoni o meno quando si è occupati." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Emettere un suono all'arrivo di un messaggio." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Mostrare o meno i contatti che non sono online nella lista contatti." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Mostrare o meno i contatti che non sono online nella lista contatti." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Mostrare o meno i contatti che non sono online nella lista contatti." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Disconnesso" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Disponibile" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Occupato" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Assente" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "Mo_stra elenco contatti" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Gruppo" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "_Aggiungi contatto..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Nascondi elenco contatti" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "C_onnetti" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "_Modifica preferiti..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "M_ostra contatti offline" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Accetta" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Accetta" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Aggiungi contatto..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Chat" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "C_onnetti" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "Modifica" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +#, fuzzy +msgid "_New Message..." +msgstr "_Invia messaggio..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Informazioni personali" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "Im_postazioni" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Esci" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Room:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "_Conversazione" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +#, fuzzy +msgid "Status" +msgstr "Messaggi di stato" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "Mo_stra elenco contatti" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip è un software libero; è possibile ridistribuirlo e/o modificarlo " +"sotto itermini della GNU General Public License pubblicata dalla Free " +"SoftwareFoundation; versione 2 della Licenza o, a propria scelta, una " +"superiore." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip è distribuito con il proposito di essere utile, ma senza alcuna " +"garanzia; senzaalcuna garanzia di Commerciabilità o adattabilità ad un " +"particolare utilizzo. Controllarela GNU General Public License per ulteriori " +"dettagli." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"Con Gossip dovrebbe essere inclusa una copia della GNU General Public " +"License;in caso contrario scrivere alla Free Software Foundation, Inc., 59 " +"Temple Place, Suite 330, Boston, MA 02111-1307 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Un client Jabber per GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "" +"Michele Baldessari\n" +"Fabio Bonelli" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Disponibile" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Preferito:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Preferito:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Account Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"Si sta tentando di rimuovere l'account %s\n" +"Procedere?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Eventuali conversazioni o chat room NON verranno rimosse se si decidedi " +"procedere\n" +"\n" +"Si può anche decidere di riaggiungere l'account in seguito, esse " +"sarannoancora disponibili." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Preferito:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Preferito:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "Messaggi di stato" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Nome:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "Argomen_to:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Esempio: utente@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "Login I_D:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "_Password:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "_Risorsa:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Utilizza _crittografia (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "P_orta:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Server:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +#, fuzzy +msgid "Disconnected" +msgstr "_Disconnetti" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Inserisci Smiley" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Controllo ortografico..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +#, fuzzy +msgid "Connected" +msgstr "C_onnetti" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +#, fuzzy +msgid "C_lear" +msgstr "Pulisci la lista" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "_Informazioni sul contatto" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "In_vita" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Inserisci _Smiley" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Messaggio di stato:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +#, fuzzy +msgid "Invite" +msgstr "In_vita" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Sposta Tab a sinistra" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Sposta Tab a Dest_ra" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Sei stato invitato ad entrare in una conferenza." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "_Modifica preferiti..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Conversazione" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Distacca Tab" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "Tab _successivo" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +#, fuzzy +msgid "_Paste" +msgstr "Data" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "Tab _precedente" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "Mo_stra elenco contatti" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Tab" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Copia collegamento indirizzo" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "Apri c_ollegamento" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_Invia messaggio..." +msgstr[1] "_Invia messaggio..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossip - Chat" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Conversazione" +msgstr[1] "_Conversazione" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +#, fuzzy +msgid "Typing a message." +msgstr "Messaggi da occupato" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "_Aggiungi contatto..." + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Gruppo" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Aggiungi un contatto" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "_Informazioni sul contatto" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Informazioni sul contatto" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/Ri_nomina group" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Nome _utente:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Inserire un nuovo pseudonimo per il contatto\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Rimuovi" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/_Elimina contatto" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossip - Modifica chat di gruppo" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "_Send File..." +msgstr "_Invia messaggio..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Seleziona un file" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "_Conversazione" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Lingua" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Aspetto" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Preferito:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Preferito:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Messaggi di stato" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Lingue</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "C_onnetti" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Preferito:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>La lista dei dizionari mostra solo le lingue di cui si ha un " +"dizionario installato</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" +"Gli avatar sono delle immagini scelte dall'utente che vengono visualizzate " +"nella lista dei contatti" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "_Nome della chat:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Mostra notifiche quando i contatti sono in _linea" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Disabilitare i suoni quando _assente" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Disa_bilitare i suoni quando occupato" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Generale" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Utilizzare suoni di notifica" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "Im_postazioni" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Mostra _avatar" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Utilizzare immagini grafiche per le faccine" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "Mo_stra elenco contatti" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Controllo ortografico" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +#, fuzzy +msgid "_Enable spell checking" +msgstr "Controllo ortografico" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Apri nuove chat in finestre separate" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "Emettere un suono all'arrivo di un messaggio." + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Salva _questa chat room" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Messaggio personalizzato..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "_Modifica preferiti..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Si desidera accettare la richiesta?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"In questo modo verranno rimossi tutti i messaggi personalizzati aggiunti " +"allalista dei messaggi di stato." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Pulisci la lista" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +#, fuzzy +msgid "Enter status message:" +msgstr "Messaggio di stato:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Messaggi di stato" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Messaggio di stato:" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s si è disconnesso" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s si è connesso" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Classico" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +#, fuzzy +msgid "Simple" +msgstr "Esempio" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "Client:" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Blu" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Nessuna connessione all'avvio" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Messaggistica istantanea" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Messaggistica istantanea" + +#~ msgid "Normal" +#~ msgstr "Normale" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Entra" + +#~ msgid "Active" +#~ msgstr "Attivo" + +#~ msgid "Inactive" +#~ msgstr "Inattivo" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Errore sconosciuto" + +#~ msgid "Error" +#~ msgstr "Errore" + +#, fuzzy +#~ msgid "No role" +#~ msgstr "Normale" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Utilizzare suoni di notifica" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "Il nickname scelto è già in uso" + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "La chat room a cui si vuole accedere richiede una password." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "Il server remoto non ha disposto in tempo" + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "Il server di conferenza scelto non può essere trovato" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Errore sconosciuto" + +#, fuzzy +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "Partecipa alla chat room" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Disponibile" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Errore sconosciuto" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "C_onnetti" + +#~ msgid "Server address could not be resolved." +#~ msgstr "L'indirizzo del server non può essere risolto" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "C_onnetti" + +#~ msgid "Authentication failed." +#~ msgstr "Autenticazione fallita" + +#~ msgid "The username you are trying already exists." +#~ msgstr "L'username scelto è già esistente" + +#~ msgid "The username you are trying is not valid." +#~ msgstr "L'username scelto non è valido" + +#, fuzzy +#~ msgid "This feature is unavailable." +#~ msgstr "Il server potrebbe essere non disponibile." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Questa feature non è autorizzata" + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "Errore specifico del protocollo" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Account Jabber" + +#~ msgid "Home" +#~ msgstr "Home" + +#~ msgid "Couldn't send message!" +#~ msgstr "Impossibile inviare il messaggio!" + +#~ msgid "Connection could not be opened" +#~ msgstr "La connessione non può essere aperta" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Il server potrebbe essere non disponibile." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Registrazione account in corso" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Questa feature non è autorizzata" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Disconnetti" + +#~ msgid "Connect" +#~ msgstr "C_onnetti" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Account registrato con successo" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Registrazione dell'account fallita" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Inserire la propria password:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Inserire la propria password:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Inserire un nuovo pseudonimo per il gruppo\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Nessuna informazione disponibile per questo contatto." + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>Informazione richiesta, prego attendere...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Vorrei aggiungerti al mio elenco di contatti." + +#~ msgid "To summarize:" +#~ msgstr "Per riassumere:" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_Invia messaggio..." +#~ msgstr[1] "_Invia messaggio..." + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Richiesta di sottoscrizione" +#~ msgstr[1] "Richiesta di sottoscrizione" + +#, fuzzy +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "Richiesta di trasferimento file" +#~ msgstr[1] "Richiesta di trasferimento file" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "Messaggio di richiesta" +#~ msgstr[1] "Messaggio di richiesta" + +#, fuzzy +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "Errore" +#~ msgstr[1] "Errore" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Se si esce, verranno perse tutte le informazioni non lette." + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Modifica impostazioni account" + +#~ msgid "Click to enlarge" +#~ msgstr "Clicca qui per ingrandire" + +#~ msgid "Word" +#~ msgstr "Parola" + +#~ msgid "New message from %s" +#~ msgstr "Nuovo messaggio da %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "Il tuo invito è stato annullato" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Accetta" + +#~ msgid "Decline" +#~ msgstr "Annulla" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Room:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "C_onnetti" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>Informazione richiesta, prego attendere...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Siete sicuri di voler rimuovere il contatto\n" +#~ "%s\n" +#~ "dal proprio elenco di contatti?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Inserire un nuovo pseudonimo per il gruppo\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Seleziona" + +#~ msgid "Unsorted" +#~ msgstr "Non ordinato" + +#~ msgid "New file transfer request from %s" +#~ msgstr "Nuovo trasferimento file richiesto da %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "Il trasferimento file non è supportato da entrambe le parti" + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Il tuo invito di trasferimento file è stato annullato" + +#~ msgid "The other user decided not to continue." +#~ msgstr "L'altro utente ha deciso di non continuare." + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Errore sconosciuto" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "Vorrei aggiungerti al mio elenco di contatti." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "Vorrei aggiungerti al mio elenco di contatti." + +#~ msgid "Select a file" +#~ msgstr "Seleziona un file" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_Connetti..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "C_onnetti" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "È stato invitato %s ad entrare in questa conferenza" + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s ha impostato l'argomento" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Che pseudonimo si desidera usare per questo contatto?" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "%s ha impostato l'argomento" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "%s ha impostato l'argomento" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "Argomen_to:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Account Jabber" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Conversazione" + +#~ msgid "Date" +#~ msgstr "Data" + +#~ msgid "List the available accounts" +#~ msgstr "Elenca gli account disponibili" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Quale account utilizzare all'avvio" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "NOME-ACCOUNT" + +#~ msgid "No accounts available." +#~ msgstr "Nessun account disponibile" + +#~ msgid "Available accounts:" +#~ msgstr "Account disponibili:" + +#~ msgid "[default]" +#~ msgstr "[predefinito]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Non esiste alcun account con il nome '%s'." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Entra" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Data" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "<b>Informazione richiesta, prego attendere...</b>" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[predefinito]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s sarà aggiunto al proprio elenco dei contatti." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "%s sarà aggiunto al proprio elenco dei contatti." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Richiesta di sottoscrizione" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "_Informazioni sul contatto" + +#~ msgid "Subject: %s" +#~ msgstr "Oggetto: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Suggerimenti per la parola" + +#~ msgid "New subscription request from %s" +#~ msgstr "Nuova richiesta di sottoscrizione da %s" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "Siete sicuri di voler rimuovere il contatto\n" +#~ "%s\n" +#~ "dal proprio elenco di contatti?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "Siete sicuri di voler rimuovere il contatto\n" +#~ "%s\n" +#~ "dal proprio elenco di contatti?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Inserire la propria password:" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "Log in con. %s" + +#~ msgid "Remember Password?" +#~ msgstr "Memorizzare la password?" + +#~ msgid "Could not display the help contents." +#~ msgstr "Impossibile mostrare la guida." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Seleziona l'avatar" + +#~ msgid "No Image" +#~ msgstr "Nessuna immagine" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Il server sembra non rispondere" + +#~ msgid "Try again later." +#~ msgstr "Provare più tardi" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Chat" + +#~ msgid "Contact goes offline" +#~ msgstr "Il contatto va non in linea" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "%s si è connesso" + +#~ msgid "Contact ID:" +#~ msgstr "ID contatto:" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Si desidera accettare la richiesta?" + +#~ msgid "File Transfer Request" +#~ msgstr "Richiesta di trasferimento file" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "Nome _utente:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "Sito web:" + +#~ msgid "Not supported yet" +#~ msgstr "Ancora non supportato" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Questa persona vuole inviarti questo file:" + +#~ msgid "Web site:" +#~ msgstr "Sito web:" + +#~ msgid "_Accept" +#~ msgstr "_Accetta" + +#~ msgid "_Deny" +#~ msgstr "Non consen_tire" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Preferito:</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Account Jabber" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - Modifica chat di gruppo" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Entra" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Nessuna connessione all'avvio" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "Partecipa alla chat all'avvio di Gossip se si è connessi" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Server:" + +#~ msgid "_Nickname:" +#~ msgstr "_Pseudonimo:" + +#~ msgid "_Room:" +#~ msgstr "_Room:" + +#~ msgid "-" +#~ msgstr "-" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>Preferito:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Informazioni sul client" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Preferito:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Lingue</b>" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Impostazioni account</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "C_onnetti" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Esempio: utente@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Account Jabber" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "_Aggiungi contatto..." + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Chat" + +#~ msgid "Client:" +#~ msgstr "Client:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "_Aggiungi contatto..." + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Nessuna connessione all'avvio" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "_Aggiungi contatto..." + +#~ msgid "Country:" +#~ msgstr "Paese:" + +#, fuzzy +#~ msgid "Decide _Later" +#~ msgstr "_Decidere successivamente" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "_Aggiungi contatto..." + +#, fuzzy +#~ msgid "Edit Groups" +#~ msgstr "Gossip - Modifica chat di gruppo" + +#~ msgid "Email:" +#~ msgstr "Email:" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "JID" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Se si sceglie di decidere in seguito, sarà chiesto la prossima volta che " +#~ "si effettua il login" + +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "<b>Impostazioni account</b>" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Re_gistrazione..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Cerca..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Gossip - Invio messaggio" + +#~ msgid "Subscription Request" +#~ msgstr "Richiesta di sottoscrizione" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Suggerimenti per la parola:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Questo agisce come un filtro per la lista dei contatti. Si possono " +#~ "usareframmenti del nome del contatto o l'ID, per esempio, \"jabber.org" +#~ "\"mostrerà nella lista tutti i contatti che utilizzano quel server." + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Che pseudonimo si desidera usare per questo contatto?" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "" +#~ "Questo nome verrà utilizzato per identificarti nelle finestre di chat" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Questo nome verrà utilizzato per identificarti quando nuovi contatti " +#~ "richiederanno i tuoi dettagli" + +#~ msgid "Use system pro_xy" +#~ msgstr "Usa il pro_xy di sistema" + +#~ msgid "Version:" +#~ msgstr "Versione:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "_Conversazione" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Quale nome utente si desidera usare?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Non sei stato sottoscritto da questo contatto." + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "C_onnetti" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Descrizione" + +#~ msgid "_Disconnect" +#~ msgstr "_Disconnetti" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Email:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Inserire l'ID dell'utente al quale si desidera inviare un messaggio." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "P_orta:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Gruppo:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Pseudonimo:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Password:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "_Messaggi di stato" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "_Rimuovi" + +#~ msgid "_Subscribe" +#~ msgstr "_Sottoscrivi" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Sito web:" + +#, fuzzy +#~ msgid "Preset status messages" +#~ msgstr "Messaggio di stato:" + +#, fuzzy +#~ msgid "Preset status messages." +#~ msgstr "Messaggio di stato:" + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "C_onnetti" + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "Possibile che si sta tentando di connettersi alla porta sbagliata?" + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "Forse il servizio non è attivo?" + +#~ msgid "Check your connection details." +#~ msgstr "Controlla i parametri di connessione." + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "Possibilmente il server non supporta questo servizio." + +#~ msgid "Check your username and password are correct." +#~ msgstr "Controllare se l'username e la password sono corretti." + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s sarà aggiunto al proprio elenco dei contatti." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "ID _Jabber del nuovo contatto:" + +#~ msgid "Example: %s" +#~ msgstr "Esempio: %s" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "Non ci sono account di Instant Messaging configurati!" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "Dopo sarà mostrata una finestra per inserire i propri dettagli." + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Inserire la propria password:" + +#~ msgid "Favourite" +#~ msgstr "Preferito" + +#~ msgid "Contact Information for %s" +#~ msgstr "Informazioni sul contatto %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/Informazioni sul contatto" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/Ri_nomina contatto" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "Gossip - Modifica chat di gruppo" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "_Conversazione" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Inserire un nuovo pseudonimo per il contatto\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Modifica gruppi per %s" + +#~ msgid "Conversation Log" +#~ msgstr "Log della Conversazione" + +#~ msgid "Registering account" +#~ msgstr "Registrazione account in corso" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Motivo:" + +#~ msgid "Dark" +#~ msgstr "Scuro" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "_Modifica preferiti..." + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "" +#~ "Personalizza il nickname, il server e la chatroom a cui si vuole " +#~ "partecipare." + +#~ msgid "Edit your chat room details:" +#~ msgstr "Modifica i dettagli della chat room:" + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossip - Chat" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "" +#~ "Prendi una chat room salvata tra quelle predefinite disponibili e " +#~ "cliccare per entrare e iniziare a chattare." + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Informazione richiesta, prego attendere...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Esempio: utente@jabber.org</span>" + +#~ msgid "Account Name" +#~ msgstr "Nome Account" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - Chat" + +#~ msgid "Connection Details" +#~ msgstr "Dettagli connessione" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Si possiede già un account su un server Jabber?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Inserire un nuovo pseudonimo per il contatto\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Inserire un nuovo pseudonimo per il contatto\n" +#~ "%s" + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Inserisci l'ID dell'utente:" + +#~ msgid "Enter your real name here" +#~ msgstr "Inserisci il tuo vero nome qui" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Configurazione terminata" + +#~ msgid "For increased security, enable this option" +#~ msgstr "Per incrementare la sicurezza, abilitare questa opzione" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip è un client moderno per il sistema Jabber di messaggistica " +#~ "istantanea.\n" +#~ "\n" +#~ "Questo assistente vi aiuterà a configurare Gossip e a connettervi al " +#~ "vostro server Jabber preferito.\n" +#~ "\n" +#~ "Per iniziare, premere \"Avanti\"." + +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option" +#~ msgstr "" +#~ "Se si possiede un'altra macchina nella reta che provvede un server proxy " +#~ "e si vuole utilizzarlo, abilitare questa opzione" + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "Se si desidera di impostare parametri specifici per la connessione, tipo " +#~ "un differente server o porta, è possibile configurarli qua:" + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Per poter utilizzare le notifiche sulla presenza dell'utente, sarà " +#~ "inviata una richiesta. L'utente sarà mostrato come \"Disconnesso\" nel " +#~ "proprio elenco dei contatti fino a quando questa richiesta verrà " +#~ "approvata." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "In che gruppo si desidera posizionare questo contatto?" + +#~ msgid "Jabber ID:" +#~ msgstr "ID Jabber:" + +#~ msgid "" +#~ "Leave this blank if you don't want your password stored on a public " +#~ "machine. If you decide to do this, you will be prompted each time you " +#~ "connect for a password" +#~ msgstr "" +#~ "Lasciare bianco se non si vuole che la password venga memorizzata in una " +#~ "macchina pubblica.Se si decide di farlo, ogni volta che si vuole " +#~ "effettuare la connessione verrà chiesta la password." + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "_Pseudonimo:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "P_orta:" + +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "Premi \"Sottoscrivi\" per richiedere di ricevere il suo stato" + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Registrazione account in corso" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "_Risorsa:" + +#~ msgid "Sending request" +#~ msgstr "Invio richiesta" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "Sito web:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Benvenuti in Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Che sistema di messaggistica usa il contatto?" + +#~ msgid "What is your name?" +#~ msgstr "Qual è il vostro nome?" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "Che nome vuoi usare per identificare questo account?\n" +#~ "\n" +#~ "Può essere qualcosa associata al provider, per esempio, <b>Google</b>." + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Che server si desidera usare?" + +#~ msgid "What username do you use?" +#~ msgstr "Quale nome utente si utilizza?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Quale nome utente si desidera usare?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "In che gruppo si desidera posizionare questo contatto?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Gossip è ora configurato correttamente per il proprio sistema.\n" +#~ "E' possibile modificare le impostazioni del proprio account " +#~ "successivamente selezionando il menu Azioni->Connetti" + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "" +#~ "Devi impostare un nome per questa connessione, per esempio, <b>Home</b> o " +#~ "<b>Laptop</b>." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Account Jabber" + +#~ msgid "Your Identity" +#~ msgstr "La tua identità" + +#~ msgid "Your new account has now been set up." +#~ msgstr "L'account è stato impostato." + +#~ msgid "_Forget" +#~ msgstr "_Dimentica" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "No" + +#~ msgid "_Search..." +#~ msgstr "_Cerca..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Sì" + +#~ msgid "Be silent when away" +#~ msgstr "Nessun avviso sonoro quando assente" + +#~ msgid "Be silent when busy" +#~ msgstr "Nessun avviso sonoro quando occupato" + +#~ msgid "Height of main window" +#~ msgstr "Altezza finestra principale" + +#, fuzzy +#~ msgid "The X position of the main window." +#~ msgstr "La larghezza della finestra principale" + +#, fuzzy +#~ msgid "The Y position of the main window." +#~ msgstr "La larghezza della finestra principale" + +#~ msgid "The width of the main window." +#~ msgstr "La larghezza della finestra principale" + +#, fuzzy +#~ msgid "Width of the main window" +#~ msgstr "Larghezza finestra principale" + +#, fuzzy +#~ msgid "X position of main window" +#~ msgstr "Larghezza finestra principale" + +#, fuzzy +#~ msgid "Y position of main window" +#~ msgstr "Larghezza finestra principale" + +#, fuzzy +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Un client Jabber per GNOME" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Larghezza finestra principale" + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "Informazioni _account" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Messaggi di stato" + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s si è disconnesso" + +#, fuzzy +#~ msgid "Available..." +#~ msgstr "Disponibile" + +#, fuzzy +#~ msgid "Busy..." +#~ msgstr "Occupato" + +#, fuzzy +#~ msgid "Away..." +#~ msgstr "Assente" + +#~ msgid "Contact _Information" +#~ msgstr "_Informazioni sul contatto" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Chat di gruppo" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "_Entra in chat di gruppo..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "P_orta:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Informazioni sul client" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Che server si desidera usare?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>Connessione al server</b>" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "Informazioni _account" + +#~ msgid "%sChat - %s" +#~ msgstr "%sChat - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Mostra _Log" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Versione:" + +#, fuzzy +#~ msgid "Latvian" +#~ msgstr "Mangiando" + +#, fuzzy +#~ msgid "View Lo_g" +#~ msgstr "Lo_g" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - Chat di gruppo" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Aggiungi contatto" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "_Informazioni sul contatto" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - Modifica chat di gruppo" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - Chat di gruppo" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - Invio messaggio" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Gossip - Invio messaggio" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Impostazioni" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - Invio messaggio" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Che messaggio di richiesta si desidera inviare a %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Si verifichi la correttezza delle informazioni sull'account." + +#~ msgid "%s wants to be notified of your presence." +#~ msgstr "L'utente %s vuole essere notificato sulla tua presenza." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Si è stati disconnessi dal server. Si desidera riconnettersi?" + +#, fuzzy +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "Si verifichi la correttezza delle informazioni sull'account." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "È avvenuto un errore durante la conversazione con %s." + +#~ msgid "Details:" +#~ msgstr "Dettagli:" + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "È avvenuto un errore nella chat di gruppo %s." + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Impossibile entrare nella chat di gruppo %s." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip cercherà ora di utilizzare l'account:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip cercherà ora di registrare l'account:" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Da:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - Messaggio ricevuto" + +#~ msgid "In reply to:" +#~ msgstr "In risposta a:" + +#~ msgid "To:" +#~ msgstr "A:" + +#~ msgid "_Reply..." +#~ msgstr "_Rispondi..." + +#~ msgid "_Send" +#~ msgstr "_Invia" + +#~ msgid "C_onnect" +#~ msgstr "C_onnessione" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Chat room disponibili</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Informazione sulla chat room</b>" + +#~ msgid "Gossip - Join Group Chat" +#~ msgstr "Gossip - Entra in chat di gruppo" + +#~ msgid "N_ickname:" +#~ msgstr "Pseudon_imo:" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "" +#~ "Scegliere un preferito, o immettere uno pseudomimo, un nome di server e " +#~ "il nome della chat room per entrare." + +#~ msgid "R_emove" +#~ msgstr "_Rimuovi" + +#~ msgid "_Add" +#~ msgstr "_Aggiungi" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Informazione non disponibile</i>" + +#~ msgid "Choose a Server" +#~ msgstr "Scegli un server" + +#~ msgid "Choose from list:" +#~ msgstr "Scegli dall'elenco:" + +#~ msgid "Information about ..." +#~ msgstr "Informazioni su ..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "Su quale server si possiede un account Jabber?" + +#~ msgid "Sound" +#~ msgstr "Suono" + +#~ msgid "Use a different server" +#~ msgstr "Utilizzare un server diverso" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Che messaggio di richiesta si desidera inviare a ...?" + +#, fuzzy +#~ msgid "About Gossip" +#~ msgstr "Gossip" + +#, fuzzy +#~ msgid "translator_credits_old" +#~ msgstr "" +#~ "Michele Baldessari <michele@pupazzo.org>, Fabio Bonelli " +#~ "<fabiobonelli@libero.it>" + +#~ msgid "Gossip Website" +#~ msgstr "Sito web di Gossip" + +#~ msgid "Gossip, Jabber Client" +#~ msgstr "Gossip, client Jabber" + +#~ msgid "About to leave..." +#~ msgstr "In procinto di uscire..." + +#~ msgid "Autoaway message" +#~ msgstr "Messaggio di assenza automatica" + +#~ msgid "Away messages" +#~ msgstr "Messaggi da assente" + +#~ msgid "Message to show before going away" +#~ msgstr "Messaggio da mostrare prima di diventare assente" + +#~ msgid "Not at the computer" +#~ msgstr "Non al computer" + +#~ msgid "Just about to leave..." +#~ msgstr "In procinto di uscire.." + +#~ msgid "Custom Busy Message..." +#~ msgstr "Messaggio personalizzato di occupato..." + +#~ msgid "Leave..." +#~ msgstr "Uscire..." + +#~ msgid "New Busy Message" +#~ msgstr "Nuovo messaggio di occupato" + +#~ msgid "New Away Message" +#~ msgstr "Nuovo messaggio durante assenza" + +#~ msgid "Working" +#~ msgstr "Lavorando" + +#~ msgid "Sleeping" +#~ msgstr "Dormendo" + +#~ msgid "Enter the new message:" +#~ msgstr "Si inserisca il nuovo messaggio:" + +#~ msgid "Leave" +#~ msgstr "Uscire" + +#~ msgid "Preset messages for quickly setting away status." +#~ msgstr "" +#~ "Messaggi preimpostati per impostare rapidamente la modalità assente." + +#~ msgid "Preset messages for quickly setting busy status." +#~ msgstr "" +#~ "Messaggi preimpostati per impostare rapidamente la modalità occupato." + +#~ msgid "Reason for being busy:" +#~ msgstr "Motivo per essere occupato:" + +#~ msgid "Reason for leaving:" +#~ msgstr "Motivo per uscire:" diff --git a/trunk/po/ja.po b/trunk/po/ja.po new file mode 100644 index 000000000..e339b2c5f --- /dev/null +++ b/trunk/po/ja.po @@ -0,0 +1,888 @@ +# empathy ja.po. +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the 'empathy' package. +# Takeshi AIHANA <takeshi.aihana@gmail.com>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: empathy trunk\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-26 15:46+0900\n" +"PO-Revision-Date: 2007-05-26 15:45+0900\n" +"Last-Translator: Takeshi AIHANA <takeshi.aihana@gmail.com>\n" +"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\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/empathy.desktop.in.in.h:1 +msgid "Empathy Instant Messenger" +msgstr "Empathy インスタント・メッセンジャー" + +#: ../data/empathy.desktop.in.in.h:2 +msgid "Instant Messenger" +msgstr "インスタント・メッセンジャー" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "新しい仲間と会話する度に別のウィンドウを開きます。" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "会話ウィンドウのテーマ" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"スペルをチェックする言語をコンマで区切って指定します (例: en, fr, nl)。" + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "仲間リストを小さくする" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "仲間リストを並び替える際の条件" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "アバターの画像が格納されたデフォルトのフォルダ" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "仲間がサインインしたらポップアップする" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "離席中になったらサウンドを演奏する" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "取り込み中になったらサウンドを演奏する" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "スペルをチェックする" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "メイン・ウィンドウを隠す" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "メイン・ウィンドウを隠します。" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "新しい会話毎にウィンドウを開く" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "アバターを表示する" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "メイン・ウィンドウを閉じる際のヒントを表示する" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "オフラインな仲間を表示する" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "スペルをチェックする言語" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "最後にアバターを選択した時に使用したフォルダです。" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "会話ウィンドウで使用するテーマです。" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "スマイリー・アイコンを使う" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "状態をサウンドの演奏で通知する" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "会話ウィンドウにテーマを適用する" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" +"指定した言語のスペル・チェッカで入力した単語をチェックするかどうかです。" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "会話ウィンドウに入力したスマイリーをアイコンに変換するかどうかです。" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "メッセージを受け取ったらサウンドを演奏するかどうかです。" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "状態が離席中になったらサウンドを演奏するかどうかです。" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "状態が取り込み中になったらサウンドを演奏するかどうかです。" + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "仲間がサインインしたらポップアップを表示するかどうかです。" + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "仲間リストと会話ウィンドウの中に仲間のアバターを表示するかどうかです。" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "仲間リストの中でオフラインの仲間を表示するかどうかです。" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"タイトルバーにある 'x' ボタンをクリックしてメインウィンドウを閉じたらメッセー" +"ジ・ダイアログを表示するかどうかです。" + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "仲間リストを小さく表示するかどうかです。" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "会話ウィンドウにテーマを適用するかどうかです。" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" +"仲間リストの中で仲間を並び替える際に使用する条件です。デフォルトは仲間の名前 " +"(\"name\") です。他に使用可能な値: \"state\" (仲間の状態)" + +#: ../libempathy/empathy-idle.c:234 +msgid "Extended autoaway" +msgstr "Extended autoaway" + +#: ../libempathy/gossip-contact.c:655 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "オフライン" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "在席中" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "取り込み中" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "離席中" + +#: ../libempathy-gtk/empathy-main-window.c:259 +msgid "Show and edit accounts" +msgstr "アカウントの一覧を表示して編集します" + +#: ../libempathy-gtk/empathy-main-window.c:468 +msgid "Group" +msgstr "グループ" + +#: ../libempathy-gtk/empathy-main-window.c:489 +msgid "Contact" +msgstr "仲間" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +msgid "Contact List - Empathy" +msgstr "仲間リスト - Empathy" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "コンテキスト" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "お気に入りに追加(_F)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "新規(N)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "お気に入りの管理..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "オフラインの仲間を表示する(_O)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "情報(_A)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "アカウント(_A)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "仲間の追加(_A)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list-view.c:204 +msgid "_Chat" +msgstr "会話(_C)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "目次(_C)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list-view.c:216 +msgid "_Edit" +msgstr "編集(_E)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "ヘルプ(_H)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "新しいメッセージ(_N)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "個人情報(_P)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "設定(_P)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "終了(_Q)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "部屋(_R)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list-view.c:232 +msgid "_View Previous Conversations" +msgstr "以前の会話を表示する(_V)" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "状態" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "仲間リストの表示(_S)" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" +"Empathy はフリーソフトウェアです;フリーソフトウェア財団が提供する GNU 一般公" +"衆利用許諾契約書の第二版、あるいはそれ以降の版が定める条項の下で本プログラム" +"を再頒布または変更することができます。" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" +"Empathy は有用とは思いますが、その頒布にあたっては市場性及び特定の目的、その" +"適合性についての暗黙の保証を含めて、いかなる保証も行ないません。詳細について" +"は GNU 一般公衆利用許諾契約書をご覧下さい。" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"あなたは本プログラムと一緒に GNU 一般公衆利用許諾契約書の写しを受け取っている" +"はずです。そうでない場合は、Free Software Foundation, Inc., 59 Temple Place " +"- Suite 330, Boston, MA 02111-1307, USA へ手紙を書いて下さい。" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "GNOME 向けのインスタント・メッセンジャー・クライアントです。" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "相花 毅 <takeshi.aihana@gmail.com>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +msgid "Disable" +msgstr "サインアウト" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "サインイン" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "<b>アカウントが選択されていません</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"新しいアカウントを登録するには [追加] ボタンをクリックして下さい。すると、新" +"しいアカウントの設定画面が表示されるので必要な情報を入力して下さい。\n" +"\n" +"アカウントを編集する場合は、左側の一覧にあるアカウントをクリックして編集して" +"下さい。" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "<b>アカウントが登録されていません</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" +"新しいアカウントを登録するには [追加] ボタンをクリックして下さい。すると、新" +"しいアカウントの設定画面が表示されるので必要な情報を入力して下さい。" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "アカウント" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"%s というアカウントを削除使用としています!\n" +"本当に削除してもよろしいですか?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"ここでアカウントの削除を続行しても、実際にそのアカウントに関連する会話や部屋" +"は削除されません。\n" +"\n" +"その理由は、あとでアカウントを追加し直した時に再利用できるようにするためで" +"す。" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>アカウント</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +msgid "<b>New Account</b>" +msgstr "<b>新しいアカウント</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +msgid "<b>Settings</b>" +msgstr "<b>設定</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "個人的にこのアカウントを識別するために使用する重複しない名前です" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +msgid "Cr_eate" +msgstr "生成する(_E)" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "Imendio " + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"新しいアカウントを登録するには [追加] ボタンをクリックして下さい。すると、新" +"しいアカウントの設定画面が表示されるので必要な情報を入力して下さい。\n" +"\n" +"アカウントを編集する場合は、左側の一覧にあるアカウントをクリックして編集して" +"下さい。" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "名前(_N):" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "種類(_T):" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "%s:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "Forget password and clear the entry." +msgstr "パスワードを破棄して、このエントリをクリアします" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Login I_D:" +msgstr "ログイン名(_D):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Pass_word:" +msgstr "パスワード(_W):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Reso_urce:" +msgstr "リソース(_U):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Use encryption (SS_L)" +msgstr "暗号化 (SSL) を有効にする(_L)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "_Port:" +msgstr "ポート番号(_P):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Server:" +msgstr "サーバ(_S):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "jabber account settings" +msgstr "Jabber アカウントの設定" + +#: ../libempathy-gtk/gossip-chat.c:368 +msgid "Disconnected" +msgstr "オフライン" + +#: ../libempathy-gtk/gossip-chat.c:915 +msgid "Insert Smiley" +msgstr "スマイリーの挿入" + +#: ../libempathy-gtk/gossip-chat.c:963 +msgid "_Check Word Spelling..." +msgstr "スペル・チェック(_C)..." + +#: ../libempathy-gtk/gossip-chat.c:1325 +msgid "Connected" +msgstr "オンライン" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "クリア(_L)" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "トピックの変更(_T)..." + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "チャット" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "仲間の情報(_M)" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "切り取り(_T)" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "招待する(_V)..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "スマイリーの挿入(_S)" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +msgid "Invitation _message:" +msgstr "招待メッセージ(_M):" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "招待する" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "タブを左へ移動(_L)" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "タブを右へ移動(_R)" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "招待する仲間を選択して下さい:" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "あなたはチャット会議に参加するために招待されました。" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "お気に入りに追加する(_A)" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "閉じる(_C)" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "会話(_C)" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "コピー(_C)" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "タブの取り外し(_D)" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "次のタブへ(_N)" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "貼り付け(_P)" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "前のタブへ(_P)" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "仲間の表示(_S)" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "タブ(_T)" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "リンク先のコピー(_C)" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "リンクを開く(_O)" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%Y年%B%e日 %A" + +#: ../libempathy-gtk/gossip-chat-window.c:688 +#: ../libempathy-gtk/gossip-chat-window.c:718 +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "新しいメッセージ" +msgstr[1] "複数の新しいメッセージ" + +#: ../libempathy-gtk/gossip-chat-window.c:694 +msgid "Chat Room" +msgstr "チャット部屋" + +#: ../libempathy-gtk/gossip-chat-window.c:699 +#: ../libempathy-gtk/gossip-chat-window.c:722 +#, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "会話" +msgstr[1] "会話 (%d 個)" + +#: ../libempathy-gtk/gossip-chat-window.c:1296 +msgid "Typing a message." +msgstr "メッセージを入力しています" + +#: ../libempathy-gtk/gossip-contact-list-view.c:196 +msgid "_Contact" +msgstr "仲間(_C)" + +#: ../libempathy-gtk/gossip-contact-list-view.c:200 +msgid "_Group" +msgstr "グループ(_G)" + +#: ../libempathy-gtk/gossip-contact-list-view.c:204 +msgid "Chat with contact" +msgstr "仲間とチャットする" + +#: ../libempathy-gtk/gossip-contact-list-view.c:208 +msgid "Infor_mation" +msgstr "情報(_M)" + +#: ../libempathy-gtk/gossip-contact-list-view.c:208 +msgid "View contact information" +msgstr "仲間の情報を表示します" + +#: ../libempathy-gtk/gossip-contact-list-view.c:212 +msgid "Re_name" +msgstr "名前の変更(_N)" + +#: ../libempathy-gtk/gossip-contact-list-view.c:212 +msgid "Rename" +msgstr "名前の変更" + +#: ../libempathy-gtk/gossip-contact-list-view.c:216 +msgid "Edit the groups and name for this contact" +msgstr "この仲間のグループと名前を編集します" + +#: ../libempathy-gtk/gossip-contact-list-view.c:220 +msgid "_Remove" +msgstr "削除(_R)" + +#: ../libempathy-gtk/gossip-contact-list-view.c:220 +msgid "Remove contact" +msgstr "仲間を削除します" + +#: ../libempathy-gtk/gossip-contact-list-view.c:224 +msgid "_Invite to Chat Room" +msgstr "チャット部屋へ招待する(_I)" + +#: ../libempathy-gtk/gossip-contact-list-view.c:224 +msgid "Invite to a currently open chat room" +msgstr "現在開いているチャット部屋へ招待します" + +#: ../libempathy-gtk/gossip-contact-list-view.c:228 +msgid "_Send File..." +msgstr "ファイルの転送(_S)..." + +#: ../libempathy-gtk/gossip-contact-list-view.c:228 +msgid "Send a file" +msgstr "ファイルを送信します" + +#: ../libempathy-gtk/gossip-contact-list-view.c:232 +msgid "View previous conversations with this contact" +msgstr "この仲間と以前会話した内容を表示します" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "言語" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>外観</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>サウンド</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>ウィンドウ</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +msgid "<b>Contact List</b>" +msgstr "<b>仲間リスト</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>言語</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>オプション</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>表示</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>この言語の一覧は辞書をインストールしている場合にのみ表示されます。</" +"small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "ユーザが選択したアバターが仲間リストの中に表示されます" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "テーマ(_E):" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "仲間がオンラインになったら通知する(_O)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "離席中になったらサウンドを演奏する(_A)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "取り込み中になったらサウンドを演奏する(_B)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "全般" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "通知" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "設定" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "アバターを表示する(_A)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "スマイリーをアイコンで表示する(_S)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "仲間リストをコンパクトにする(_M)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "名前で並び替える(_N)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "状態で並び替える(_T)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "スペルのチェック" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "テーマ" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "スペルをチェックする(_E)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "新しい会話の度に別のウィンドウを開く(_O)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "メッセージを受け取ったらサウンドを演奏する(_P)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "チャット部屋で使用する(_U)" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "独自のメッセージ..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "リストのクリア..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "このリストを本当にクリアしてもよろしいですか?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "状態別のメッセージとして追加した独自のメッセージを全て削除します。" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "リストのクリア" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "状態を表すメッセージ:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "状態メッセージの編集" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "状態メッセージの一覧に追加する(_A)" + +#: ../libempathy-gtk/gossip-private-chat.c:187 +#, c-format +msgid "%s went offline" +msgstr "%s さんがオフラインになりました" + +#: ../libempathy-gtk/gossip-private-chat.c:201 +#, c-format +msgid "%s has come online" +msgstr "%s さんがオンラインになりました" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "クラッシック" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "シンプル" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "クリン" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "ブルー" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "起動時にサインインしない" + +#: ../src/empathy-main.c:155 +msgid "- Empathy Instant Messenger" +msgstr "- Empathy インスタント・メッセンジャー" diff --git a/trunk/po/lt.po b/trunk/po/lt.po new file mode 100644 index 000000000..001d52cef --- /dev/null +++ b/trunk/po/lt.po @@ -0,0 +1,1745 @@ +# translation of lt.po to Lithuanian +# Lithuanian translation of gossip. +# Copyright (C) 2004-2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the gossip package. +# +# +# Justina Klingaitė <justina.klingaite@gmail.com>, 2006. +# Gintautas Miliauskas <gintas@akl.lt>, 2006. +# Žygimantas Beručka <zygis@gnome.org>, 2004-2007. +msgid "" +msgstr "" +"Project-Id-Version: gossip HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2007-01-14 14:23+0200\n" +"Last-Translator: Žygimantas Beručka <zygis@gnome.org>\n" +"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\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%" +"100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Bendravimas žinutėmis" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Bendravimas žinutėmis" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Naujiems pokalbiams visada atverti atskirą pokalbio langą." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Pokalbio lango tema" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Kableliu atskirtų kalbų, kurių rašyba tikrinama, sąrašas (pvz. lt, en, fr)." + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "Kompaktiškas bičiulių sąrašas" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Katalogas, iš kurio renkamas paveikslėlis" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Įjungti iššokantį langą, rodomą žmogui prisijungus" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Atjungti garsus, kai manęs nėra" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Atjungti garsus, kai aš užsiėmęs" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "Įjungti rašybos tikrinimą" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Paslėpti pagrindinį langą" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Paslėpti pagrindinį langą." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Atverti pokalbiu atskiruose languose" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Rodyti bičiulių paveikslėlius" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "Rodyti pranešimą apie pagrindinio lango užvėrimą" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Rodyti atsijungusius bičiulius" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Kalbų rašybos tikrinimas" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "Paskutinis katalogas, iš kurio pasirinktas paveikslėlis." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Tema naudojama pokalbio rodymui pokalbių lange." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Naudoti grafines šypsenėles" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Naudoti įspėjimo garsus" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "Naudoti temą pokalbių kambariams" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "Ar tikrinti žodžių rašybą pagal pasirinktą kalbą." + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Ar pokalbiuose paversti šypsenėles į grafinius paveiksliukus." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Ar sugroti garsą kai atvyksta nauja žinutė." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Ar groti garsus kai tavęs nėra." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Ar groti garsu kai tu užsiėmęs." + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Ar rodyti iššokantį langą, kai žmogus prisijungia prie tinklo." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Ar rodyti pašnekovų paveikslėlius kontaktų sąraše ir pokalbių languose." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Ar bičiulių sąraše rodyti bičiulius, kurie yra atsijungę." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"Ar rodyti pranešimo apie pagrindinio lango uždarymą dialogą su mygtuku „x“ " +"antraštės juostoje." + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "Ar bičiulių sąrašą rodyti kompaktiniame režime ar ne." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "Ar naudoti temą pokalbių kambariams ar ne." + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Atsijungęs" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Esu" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Užsiėmęs" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Manęs nėra." + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "Rodyti ir taisyti abonentus" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Grupė" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "Bičiulis" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Rodyti bičiulių sąrašą" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "Konktestas" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "Prisijungti prie _mėgstamų" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Prisijungi prie _naujo..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "Tvarkyti mėgstamus..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Rodyti _atsijungusius bičiulius" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "_Apie" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Abonentai" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "Pri_dėti bičiulį..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "P_okalbis" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Turinys" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "_Keisti" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "_Žinynas" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Nauja žinutė..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "_Asmeninė informacija" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Nustatymai" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "Iš_eiti" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Kambarys" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "Žiūrė_ti ankstesnius pokalbius" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Būsena" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Rodyti bičiulių sąrašą" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip yra laisva programinė įranga; galite ją platinti ir/ar modifikuoti " +"GNU bendrosios viešosios licencijos sąlygomis, kurios paskelbtos Laisvosios " +"programinės įrangos fondo; 2-osios arba (Jūsų pasirinkimu) bet kurios " +"vėlesnės licencijos versijos sąlygomis." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip yra platinama tikintis, kad jis bus naudinga, bet BE JOKIŲ GARANTIJŲ; " +"netgi be numanomų PARDAVIMO arba TINKAMUMO TAM TIKRAM TIKSLUI garantijų. Dėl " +"išsamesnės informacijos žiūrėkite GNU bendrąją viešąją licenciją." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"Jūs turėjote gauti GNU bendrosios viešosios licencijos kopiją kartu su " +"Gossip; jeigu negavote, rašykite Laisvosios programinės įrangos fondui, 51 " +"Franklin Street, Fifth Floor, Boston, MA 02110-130159 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "Greitų žinučių klientas skirtas GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"Žygimantas Beručka\n" +"Justina Klingaitė" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Esu" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "<b>Abonentas nepasirinktas</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"Norėdami pridėti naują abonentą, galite spustelėti mygtuką „Pridėti“ ir bus " +"sukurtas naujas įrašas konfigūravimui.\n" +"\n" +"Jeigu nenorite pridėti abonento, paprasčiausiai spustelėkite pageidaujamą " +"konfigūruoti abonentą sąraše kairėje pusėje." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Nėra sukonfigūruotų abonentų</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" +"Norėdami pridėti naują abonentą, galite spustelėti mygtuką „Pridėti“ ir bus " +"sukurtas naujas įrašas konfigūravimui." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Abonentai" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"Ištrinsite abonentą %s!\n" +"Ar tikrai norite tęsti?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Jei nuspręsite tęsti, susiję pokalbiai bei pokalbių kambariai nebus " +"ištrinti.\n" +"\n" +"Jei vėliau vėl pridėsite abonentą, jie vis dar bus prieinami." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Abonentas</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Abonentas</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +msgid "<b>Settings</b>" +msgstr "<b>Nustatymai</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Sukurti" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"Norėdami pridėti naują abonentą, galite spustelėti mygtuką „Pridėti“ ir bus " +"sukurtas naujas įrašas konfigūravimui.\n" +"\n" +"Jeigu nenorite pridėti abonento, paprasčiausiai spustelėkite pageidaujamą " +"konfigūruoti abonentą sąraše kairėje pusėje." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Vardas:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "%s:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "Užmiršti slaptažodį ir išvalyri įrašą." + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "Prisijungimo I_D:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "Sla_ptažodis:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "Res_ursas:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "Naudoti šifravimą (SS_L)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Prievadas:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Serveris:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "jabber abonento nustatymai" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Neprisijungęs" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Įterpti šypsniuką" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Tikrinti žodžių rašybą..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Prisijungęs" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "Išva_lyti" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "Pakeisti _temą..." + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Pokalbis" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "Bičiulio infor_macija" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "_Iškirpti" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "_Pakviesti..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Įterpti _šypsiuką" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +msgid "Invitation _message:" +msgstr "Pakvietimo ži_nutė:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "Pakviesti" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Perkelti kortelę į _kairę" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Perkelti kortelę į _dešinę" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "Pasirinkite ką norite pakviesti:" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Esate kviečiami prisijungti prie pokalbių konferencijos." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "Į_dėti į mėgstamiausius" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "_Užverti" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Pokalbis" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "_Kopijuoti" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "A_tkabinti kortelę" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Sekanti kortelė" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "Į_dėti" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Ankstesnė kortelė" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "_Rodyti bičiulius" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "K_ortelės" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Kopijuoti nuorodos adresą" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Atverti nuorodą" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Nauja žinutė" +msgstr[1] "Nauja žinutė" +msgstr[2] "Nauja žinutė" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Pokalbių kambariai" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Pokalbis" +msgstr[1] "_Pokalbis" +msgstr[2] "_Pokalbis" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Rašoma žinutė." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "_Bičiulis" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "_Grupė" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "Šnekėti su bičiuliu" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "Infor_macija" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "Žiūrėti bičiulio informaciją" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "Pervadi_nti" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "Pervadinti" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "Keisti šio bičiulio grupes ir vardą" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Pašalinti" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "Pašalinti bičiulį" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "Pa_kviesti į pokalbių kambarį" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "Pakviesti į dabar atvertą pokalbių kambarį" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "_Siųsti rinkmeną..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "Siųsti rinkmeną" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "Žiūrėti ankstesnius pokalbius su šiuo bičiuliu" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Kalba" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Išvaizda</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Garsai</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Elgsena</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Būsena</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Kalbos</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Parinktys</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Vaizdas</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>Šiame kalbų sąraše yra tik tos kalbos, kurių žodynus turite įdiegę.</" +"small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "Paveikslėliai, pasirinkti naudotojų, rodomi bičiulių sąraše." + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "Pokalbio t_ema:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Rodyti pranešimus, kai bičiuliai prisijungia" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Įjungti garsus, kai m_anęs nėra" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Įjungti garsus, kai aš _užsiėmęs" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Bendra" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Pranešimai" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Nustatymai" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Rodyti _paveikslėlius" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Versti šyp_senėles į grafinius paveiksliukus" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "Rodyti ko_mpaktišką bičiulių sąrašą" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Rašybos tikrinimas" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "Temos" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "Įj_ungti rašybos tikrinimą" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Atverti naujus pokalbius atskiruose languose" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Gavus žinutę sugroti garsą" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "_Naudoti pokalbių kambariams" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Nurodyta žinutė..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Išvalyti sąrašą..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "Ar tikrai norite išvalyti sąrašą?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "Visos žinutės iš greitų būsenos žinučių sąrašo bus ištrintos." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Išvalyti sąrašą" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Įveskite būsenos žinutę:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Būsenos žinučių šablonai" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "Į_dėti į būsenų žinučių sąrašą" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s atsijungė" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s prisijungė" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Klasikinė" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Paprasta" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Tvarkinga" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Mėlyna" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Paleidimo metu neprisijungti" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Greitų žinučių programa „Gossip“" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Greitų žinučių programa „Gossip“" + +#~ msgid "Normal" +#~ msgstr "Normalus" + +#~ msgid "Joining" +#~ msgstr "Jungiamasi" + +#~ msgid "Active" +#~ msgstr "Aktyvus" + +#~ msgid "Inactive" +#~ msgstr "Neaktyvus" + +#~ msgid "Unknown" +#~ msgstr "Nežinoma" + +#~ msgid "Error" +#~ msgstr "Klaida" + +#~ msgid "Moderator" +#~ msgid_plural "Moderators" +#~ msgstr[0] "Moderatorius" +#~ msgstr[1] "Moderatoriai" +#~ msgstr[2] "Moderatorių" + +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "Dalyvis" +#~ msgstr[1] "Dalyviai" +#~ msgstr[2] "Dalyvių" + +#~ msgid "Visitor" +#~ msgid_plural "Visitors" +#~ msgstr[0] "Lankytojas" +#~ msgstr[1] "Lankytojai" +#~ msgstr[2] "Lankytojų" + +#~ msgid "No role" +#~ msgstr "Nėra vaidmens" + +#~ msgid "Owner" +#~ msgid_plural "Owners" +#~ msgstr[0] "Sąvininkas" +#~ msgstr[1] "Sąvininkai" +#~ msgstr[2] "Sąvininkų" + +#~ msgid "Administrator" +#~ msgid_plural "Administrators" +#~ msgstr[0] "Administratorius" +#~ msgstr[1] "Administratoriai" +#~ msgstr[2] "Administratorių" + +#~ msgid "Member" +#~ msgid_plural "Members" +#~ msgstr[0] "Narys" +#~ msgstr[1] "Nariai" +#~ msgstr[2] "Narių" + +#~ msgid "Outcast" +#~ msgid_plural "Outcasts" +#~ msgstr[0] "Benamis" +#~ msgstr[1] "Benamiai" +#~ msgstr[2] "Benamių" + +#~ msgid "No affiliation" +#~ msgstr "Ne narys" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "Toks slapyvardis jau naudojamas." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "Prisijungimui prie šio kambario reikalingas slaptažodis." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "Nutolęs konferencijos serveris per ilgai neatsakė." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "Konferencijos serveris, prie kurio bandėte prisijungti, nerastas." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Įvyko nežinoma klaida. Patikrinkite, ar informacija teisinga." + +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "Prisijungimas prie pokalbių kambario buvo atšauktas." + +#~ msgid "Unavailable" +#~ msgstr "Neprieinamas" + +#~ msgid "An unknown error occurred." +#~ msgstr "Iškilo nežinoma klaida." + +#~ msgid "Connection refused." +#~ msgstr "Susijungimas atmestas." + +#~ msgid "Server address could not be resolved." +#~ msgstr "Nepavyko rasti serverio adreso." + +#~ msgid "Connection timed out." +#~ msgstr "Prisijungimas dėl neaktyvumo nutrauktas." + +#~ msgid "Authentication failed." +#~ msgstr "Autentikuotis nepavyko." + +#~ msgid "The username you are trying already exists." +#~ msgstr "Pasirinktas naudotojo vardas jau užimtas." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "Pasirinktas naudotojo vardas netinkamas." + +#~ msgid "This feature is unavailable." +#~ msgstr "Šios funkcijos nėra." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Ši funkcija neleistina." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "Iškilo netikėta specifinė protokolo klaida." + +#~ msgid "new account" +#~ msgstr "naujas abonentas" + +#~ msgid "Home" +#~ msgstr "Namai" + +#~ msgid "Couldn't send message!" +#~ msgstr "Nepavyko išsiųsti žinutės!" + +#~ msgid "Connection could not be opened" +#~ msgstr "Nepavyko atverti ryšio" + +#~ msgid "Service has gone and is no longer available" +#~ msgstr "Paslauga dingo ir daugiau neteikiama" + +#~ msgid "Bad or malformed request to this service" +#~ msgstr "Neteisinga paslaugos užklausa" + +#~ msgid "Unauthorized request to this service" +#~ msgstr "Neleistina paslaugos užklausa" + +#~ msgid "Payment is required for this service" +#~ msgstr "Už šią paslaugą reikia apmokėti" + +#~ msgid "This service is forbidden" +#~ msgstr "Ši paslauga uždrausta" + +#~ msgid "This service is unavailable or not found" +#~ msgstr "Ši paslauga neteikiama arba nerasta" + +#~ msgid "Unacceptable request sent to this services" +#~ msgstr "Neprieinama užklausa nusiųsta į šią paslaugą" + +#~ msgid "Registration is required" +#~ msgstr "Būtina registracija" + +#~ msgid "There was a conflict of interest trying to use this service" +#~ msgstr "Interesų susikirtimas bandant naudoti šią paslaugą" + +#~ msgid "There was an internal service error" +#~ msgstr "Vidinė paslaugos klaida" + +#~ msgid "This feature is not implemented" +#~ msgstr "Ši funkcija nesukurta" + +#, fuzzy +#~ msgid "The remote service timed out" +#~ msgstr "Pašalinimo paslaugos laikas baigėsi" + +#~ msgid "Stop" +#~ msgstr "Sustabdyti" + +#~ msgid "Disconnect" +#~ msgstr "Atsijungti" + +#~ msgid "Connect" +#~ msgstr "Prisijungti" + +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Naujo abonento nustatymai sėkmingai užregistruoti." + +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "Dabar turėtumėte galėti prisijungti naujuoju abonentu." + +#~ msgid "Failed to register your new account settings." +#~ msgstr "Nepavyko užregistruoti naujo abonento nustatymų." + +#~ msgid "Successfully changed your account password." +#~ msgstr "Naujo abonento slaptažodis sėkmingai pakeistas." + +#~ msgid "You should now be able to connect with your new password." +#~ msgstr "Dabar turėtumėte galėti prisijungti su naujuoju slaptažodžiu." + +#~ msgid "Failed to change your account password." +#~ msgstr "Nepavyko pakeisti Jūsų abonento slaptažodžio." + +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Įveskite naują šio abonento slaptažodį:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Šio bičiulio informacija neprieinama." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Informacija užklausta, prašome palaukti..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Norėčiau Jus įtraukti į savo bičiulių sąrašą." + +#~ msgid "To summarize:" +#~ msgstr "Apibendrinti:" + +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "%d nauja žinutė" +#~ msgstr[1] "%d naujos žinutės" +#~ msgstr[2] "%d naujų žinučių" + +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "%d užsisakymo prašymas" +#~ msgstr[1] "%d užsisakymo prašymai" +#~ msgstr[2] "%d užsisakymo prašymų" + +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "%d rinkmenų siuntimo užklausa" +#~ msgstr[1] "%d rinkmenų siuntimo užklausos" +#~ msgstr[2] "%d rinkmenų siuntimo užklausų" + +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "%d serverio pranešimas" +#~ msgstr[1] "%d serverio pranešimai" +#~ msgstr[2] "%d serverio pranešimų" + +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "%d klaida" +#~ msgstr[1] "%d klaidos" +#~ msgstr[2] "%d klaidų" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Jeigu užversite, prarasite visą neperskaitytą informaciją." + +#~ msgid "Gossip is still running, it is just hidden." +#~ msgstr "Gossip vis dar veikia, ji tiesiog paslėpta." + +#~ msgid "Click on the notification area icon to show Gossip." +#~ msgstr "" +#~ "Spragtelėkite pranešimų vietoje esančią piktogramą norėdami pamatyti " +#~ "Gossip." + +#~ msgid "You were about to quit!" +#~ msgstr "Ketinate užverti programą!" + +#~ msgid "" +#~ "Since no system or notification tray has been found, this action would " +#~ "normally quit Gossip.\n" +#~ "\n" +#~ "This is just a reminder, from now on, Gossip will quit when performing " +#~ "this action unless you uncheck the option below." +#~ msgstr "" +#~ "Kadangi nerasta sistemos ar pranešimų vietos skydelių, šiuo veiksmu " +#~ "Gossip uždaroma.\n" +#~ "\n" +#~ "Tai tik priminimas, nuo dabar, atliekant šį veiksmą Gossip bus uždaroma, " +#~ "nebent išjungsite žemiau esančią parinktį." + +#~ msgid "Edit Account _Details" +#~ msgstr "Keisti abonento _informaciją" + +#~ msgid "Click to enlarge" +#~ msgstr "Spauskite padidinti" + +#~ msgid "Word" +#~ msgstr "Žodis" + +#~ msgid "Select who would you like to invite to room:" +#~ msgstr "Pasirinkite ką norite pakviesti į kabarį:" + +#~ msgid "Select which room you would like to invite:" +#~ msgstr "Pasirinkite į kurį kambarį norite pasiekti:" + +#~ msgid "New message from %s" +#~ msgstr "Nauja žinutė iš %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "Pakvietimo buvo atsisakyta" + +#~ msgid "Accept" +#~ msgstr "Priimti" + +#~ msgid "Decline" +#~ msgstr "Atsisakyti" + +#~ msgid "Name" +#~ msgstr "Vardas" + +#~ msgid "Room" +#~ msgstr "Kambarys" + +#~ msgid "Auto Connect" +#~ msgstr "Automatiškai prisijungti" + +#~ msgid "Information requested..." +#~ msgstr "Informacija užklausta..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "Ar norite pašalinti bičiulį iš sąrašo?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Įveskite naują pavadinimą grupei:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Rinktis" + +#~ msgid "Unsorted" +#~ msgstr "Nesurūšiuota" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server." +#~ msgstr "" +#~ "Nurodykite alternatyvų vardą norimą naudoti:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Galite gauti bičiulio inforamciją iš serverio." + +#~ msgid "New file transfer request from %s" +#~ msgstr "Nauja rinkmenos siuntimo užklausa iš %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "Rinkmenų siuntimas nepalaikomas abiejų pusių." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Rinkmenos siuntimo atsisakyta." + +#~ msgid "The other user decided not to continue." +#~ msgstr "Kitas naudotojas nusprendė nebetęsti." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Rinkmenos siuntimo metu iškilo nežinoma klaida." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s nori Jums atsiųsti rinkmeną." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Kažkas nori Jums atsiųsti rinkmeną." + +#~ msgid "Select a file" +#~ msgstr "Pasirinkite rinkmeną" + +#~ msgid "Connecting..." +#~ msgstr "Jungiamasi..." + +#~ msgid "Retry connection" +#~ msgstr "Prisijungti iš naujo" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "%s pakviestas prisijungti prie šios pokalbio konferencijos." + +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s nustatė temą: %s" + +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Įveskite naują šio kambario temą:" + +#~ msgid "%s has joined the room" +#~ msgstr "%s įėjo į kambarį" + +#~ msgid "%s has left the room" +#~ msgstr "%s išėjo iš kambario" + +#~ msgid "Topic: %s" +#~ msgstr "Tema: %s" + +#~ msgid "Account" +#~ msgstr "Abonentas" + +#~ msgid "Conversation With" +#~ msgstr "Pokalbis su" + +#~ msgid "Date" +#~ msgstr "Data" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "Leisti tuo pačiu metu veikti keletui programos egzempliorių" + +#~ msgid "List the available accounts" +#~ msgstr "Prieinamų abonentų sąrašas" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Prie kurio abonento prisijungti paleidimo metu" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "ABONEMENTO-VARDAS" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "Negalite naudoti --no-connect kartu su --account" + +#~ msgid "No accounts available." +#~ msgstr "Nėra prieinamų abonentų." + +#~ msgid "Available accounts:" +#~ msgstr "Prieinami abonentai:" + +#~ msgid "[default]" +#~ msgstr "[numatytasis]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Abonento vardu „%s“ nėra." + +#~ msgid "Join" +#~ msgstr "Prisijungti" + +#~ msgid "Create" +#~ msgstr "Sukurti" + +#~ msgid "Chat Rooms" +#~ msgstr "Pokalbių kambariai" + +#~ msgid "Found %d conference rooms" +#~ msgstr "Rasta %d konferencinių kambarių" + +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Ieškoma konferencinių kambarių, palaukite..." + +#~ msgid "Browsing cancelled!" +#~ msgstr "Paieška atšaukta!" + +#~ msgid "Default" +#~ msgstr "Numatytasis" + +#~ msgid "Chat!" +#~ msgstr "Pokalbis!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s nori būti įtrauktas į bičiulių sąrašą." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Kažkas nori būti įtrauktas į bičiulių sąrašą." + +#~ msgid "Subscription request" +#~ msgstr "Užsisakymo prašymas" + +#~ msgid "Show" +#~ msgstr "Rodyti" + +#~ msgid "Contact Information" +#~ msgstr "Bičiulio informacija" + +#~ msgid "Subject: %s" +#~ msgstr "Tema: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Žodžio pasiūlymas" + +#~ msgid "New subscription request from %s" +#~ msgstr "Naujas užsisakymo prašymas iš %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Ar norite įtraukti šį asmenį į bičiulių sąrašą?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Ar norite įtraukti %s į bičiulių sąrašą?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Įveskite abonento %s slaptažodį" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "Registruojamasi su: %s" + +#~ msgid "Remember Password?" +#~ msgstr "Atsiminti slaptažodį?" + +#~ msgid "Do not show this again" +#~ msgstr "Daugiau to nerodyti" + +#~ msgid "Could not display the help contents." +#~ msgstr "Nepavyko parodyti žinyno turinio." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Pasirinkite savo paveikslėlį" + +#~ msgid "No Image" +#~ msgstr "Paveikslėlio nėra" + +#~ msgid "Cancel" +#~ msgstr "Atšaukti" + +#~ msgid "OK" +#~ msgstr "Gerai" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Serveris neatsako." + +#~ msgid "Try again later." +#~ msgstr "Bandykite vėliau." + +#~ msgid "Change" +#~ msgstr "Pakeisti" + +#~ msgid "Contact goes offline" +#~ msgstr "Bičiulis atsijungia" + +#~ msgid "Contact goes online" +#~ msgstr "Bičiulis prisijungia" + +#~ msgid "Contact ID:" +#~ msgstr "Bičiulio ID:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Ar norite priimti šią rinkmeną?" + +#~ msgid "File Transfer Request" +#~ msgstr "Rinkmenos siuntimo užklausa" + +#~ msgid "File name:" +#~ msgstr "Rinkmenos vardas:" + +#~ msgid "File size:" +#~ msgstr "Rinkmenos dydis:" + +#~ msgid "Not supported yet" +#~ msgstr "Dar nepalaikoma." + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Šis asmuo nori Jums atsiųsti šią rinkmeną:" + +#~ msgid "Web site:" +#~ msgstr "Tinklapis:" + +#~ msgid "_Accept" +#~ msgstr "_Priimti" + +#~ msgid "_Deny" +#~ msgstr "_Atmesti" + +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Tema:</b>" + +#~ msgid "Account:" +#~ msgstr "Abonentas:" + +#~ msgid "Browse:" +#~ msgstr "Naršyti:" + +#~ msgid "Edit Favorite Room" +#~ msgstr "Taisyti mėgiamą kambarį" + +#~ msgid "" +#~ "Enter the room name to join here or click on one or more rooms in the " +#~ "list." +#~ msgstr "" +#~ "Įveskite kambario pavadinimą arba spustelėkite vieną ar daugiau kambarių " +#~ "sąraše." + +#~ msgid "Group Chat" +#~ msgstr "Grupinis pokalbis" + +#~ msgid "Join New" +#~ msgstr "Prisijungi prie naujo" + +#~ msgid "Join room on start_up" +#~ msgstr "Įeiti į kambarį paleidimo met_u" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "" +#~ "Įeiti į šį pokalbių kambarį, kai paleidžiamas Gossip ir prisijungus." + +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Tvarkyti mėgiamus kambarius" + +#~ msgid "N_ame:" +#~ msgstr "V_ardas:" + +#~ msgid "Re_fresh" +#~ msgstr "At_naujinti" + +#~ msgid "S_erver:" +#~ msgstr "S_erveris:" + +#~ msgid "" +#~ "This list represents all chat rooms hosted on the server you have entered." +#~ msgstr "" +#~ "Šiame sąraše pateikiami visi pokalbių kambariai esantys šiame serveryje." + +#~ msgid "_Nickname:" +#~ msgstr "_Slapyvardis:" + +#~ msgid "_Room:" +#~ msgstr "_Kambarys:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>Apie</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Kliento informacija</b>" + +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Grupės</b>" + +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Vardas</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Asmeninė informacija</b>" + +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Abonentas</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "" +#~ "<span size=\"smaller\">Pavyzdys: Jonas arba naudotojas@akl.lt</span>" + +#~ msgid "Accou_nt:" +#~ msgstr "Abo_nentas:" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "Pri_dėti bičiulį..." + +#~ msgid "Alia_s:" +#~ msgstr "Alternatyvu_s vardas:" + +#~ msgid "Avatar:" +#~ msgstr "Paveikslėlis:" + +#~ msgid "Birthday:" +#~ msgstr "Gimtadienis:" + +#~ msgid "C_hange" +#~ msgstr "Pa_keisti" + +#~ msgid "Ch_at" +#~ msgstr "Pok_albis" + +#~ msgid "Client:" +#~ msgstr "Klientas:" + +#~ msgid "Con_tact:" +#~ msgstr "_Bičiulis:" + +#~ msgid "Connect on S_tartup" +#~ msgstr "Prisij_ungti paleidimo metu" + +#~ msgid "Contacts" +#~ msgstr "Bičiuliai" + +#~ msgid "Country:" +#~ msgstr "Šalis:" + +#~ msgid "Decide _Later" +#~ msgstr "Nuspręsti vė_liau" + +#~ msgid "Edit Contact" +#~ msgstr "Keisti bičiulį" + +#~ msgid "Edit Groups" +#~ msgstr "Keisti grupes" + +#~ msgid "Email:" +#~ msgstr "El. paštas:" + +#~ msgid "ID:" +#~ msgstr "ID:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Jeigu pasirinksite nuspręsti vėliau, bus paklausta kito prisijungimo metu." + +#~ msgid "Name:" +#~ msgstr "Vardas:" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#~ msgid "Personal Details" +#~ msgstr "Asmeninė informacija" + +#~ msgid "R_egister" +#~ msgstr "R_egistruotis" + +#~ msgid "Search" +#~ msgstr "Ieškoti" + +#~ msgid "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." +#~ msgstr "" +#~ "Pasirinkite grupes, kuriose rodyti šį bičiulį. Galite pasirinkti daugiau " +#~ "nei vieną grupę arba nei vienos grupės." + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Nurodykite alternatyvų vardą, kurį norite naudoti:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "Bičiulio informaciją galite gauti iš serverio." + +#~ msgid "Spell Checker" +#~ msgstr "Rašybos tikrinimas" + +#~ msgid "Subscription Request" +#~ msgstr "Užsisakymo prašymas" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Žodžio pasiūlymai:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Tai veikia kaip žemiau esančio kontaktų sąrašo filtras. Galite naudoti " +#~ "bičiulio vardo ar ID dalis. Pvz., „akl.lt“ parodys visų, naudojančių šį " +#~ "serverį, sąrašą." + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Tai vardas, kuris bus naudojamas šiam bičiuliui bičiulių sąraše" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Šis vardas bus Jūsų tapatybė pokalbių languose" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Šis vardas bus naudojamas Jūsų tapatybė, kai nauji bičiuliai žiūrės " +#~ "informaciją apie Jus" + +#~ msgid "Use default name here from the contact's VCard." +#~ msgstr "Čia naudoti numatytąjį vardą iš bičiulio VCard." + +#~ msgid "Use system pro_xy" +#~ msgstr "Naudoti sistemos tarpinį ser_verį" + +#~ msgid "Version:" +#~ msgstr "Versija:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Žiūrėti ankstesnius pokalbius" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Kokį abonentą norite naudoti?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Šio bičiulio nesekate." + +#~ msgid "_Birthday:" +#~ msgstr "_Gimtadienis:" + +#~ msgid "_Connect" +#~ msgstr "_Prisijungti" + +#~ msgid "_Description:" +#~ msgstr "_Aprašymas:" + +#~ msgid "_Disconnect" +#~ msgstr "_Atsijungti" + +#~ msgid "_Email:" +#~ msgstr "_El. paštas:" + +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Ž_emiau įveskite asmens, su kuriuo norite kalbėti, vardą ar bičiulio ID:" + +#~ msgid "_For:" +#~ msgstr "_Kam:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "_Vardas:" + +#~ msgid "_Group:" +#~ msgstr "_Grupė:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Slapyvardis:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "Sla_ptažodis:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Nauja žinutė" + +#~ msgid "_Retrieve" +#~ msgstr "_Gauti" + +#~ msgid "_Subscribe" +#~ msgstr "_Užsisakyti" + +#~ msgid "_Web site:" +#~ msgstr "_Tinklapis:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "jabber abonento nustatymai" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "jabber abonento nustatymai" + +#~ msgid "Protocol:" +#~ msgstr "Protokolas:" + +#~ msgid "Choose the protocol" +#~ msgstr "Pasirinkite protokolą" + +#~ msgid "Gossip" +#~ msgstr "Gossip" diff --git a/trunk/po/ml.po b/trunk/po/ml.po new file mode 100644 index 000000000..2f54c0d84 --- /dev/null +++ b/trunk/po/ml.po @@ -0,0 +1,1124 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FSF-India <locale@gnu.org.in>, 2003. +# +msgid "" +msgstr "" +"Project-Id-Version:gossip\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2003-07-05 10:29+0530\n" +"Last-Translator: FSF-India <locale@gnu.org.in>\n" +"Language-Team: Malayalam <locale@gnu.org.in>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "സന്ദേശം:" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "" + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "" + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +#, fuzzy +msgid "Offline" +msgstr "കാര്യാലയം" + +#: ../libempathy/gossip-presence.c:274 +#, fuzzy +msgid "Available" +msgstr "ലഭ്യത" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "തിരക്ക്" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "ദൂരെ" + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "ഘടിപ്പിക്കുക" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +msgid "Contact List - Empathy" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "ഘടിപ്പിക്കുക" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "ഘടിപ്പിക്കുക" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "പുറത്ത് കടക്കുക" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +#, fuzzy +msgid "_Preferences" +msgstr "മുന്ഗണനകള്" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "പുറത്ത് കടക്കുക" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +#, fuzzy +msgid "Status" +msgstr "<b>അവസ്ഥ</b>" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "എഫ്.എസ്.എഫ് - ഇന്ത്യ" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "ലഭ്യത" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "ഘടിപ്പിക്കുക" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>അവസ്ഥ</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +msgid "Cr_eate" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "നാമം:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "അടയാളവാക്ക്:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "വഴി:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "സര്വ്വര്:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +#, fuzzy +msgid "Disconnected" +msgstr "ഘടിപ്പിക്കുക" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +#, fuzzy +msgid "Connected" +msgstr "ഘടിപ്പിക്കുക" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "സന്ദേശം:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "സന്ദേശം:" +msgstr[1] "സന്ദേശം:" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "ഘടിപ്പിക്കുക" +msgstr[1] "ഘടിപ്പിക്കുക" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "ഘടിപ്പിക്കുക" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "ഘടിപ്പിക്കുക" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "നാമം:" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "_Remove" +msgstr "നീക്കുക" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "നീക്കുക" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "തള്ളിക്കളയുക" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>അവസ്ഥ</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>അവസ്ഥ</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>അവസ്ഥ</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "ഘടിപ്പിക്കുക" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>അവസ്ഥ</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "മുന്ഗണനകള്" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +#, fuzzy +msgid "Enter status message:" +msgstr "സന്ദേശം:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "സന്ദേശം:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "സന്ദേശം:" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "സന്ദേശം:" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "അറിയാത്ത ഏതോ പ്രശ്നം" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "അറിയാത്ത ഏതോ പ്രശ്നം" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "ലഭ്യത" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "അറിയാത്ത ഏതോ പ്രശ്നം" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "Connect" +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "സന്ദേശം:" +#~ msgstr[1] "സന്ദേശം:" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "നാമം:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "Select" +#~ msgstr "തള്ളിക്കളയുക" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "അറിയാത്ത ഏതോ പ്രശ്നം" + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "തള്ളിക്കളയുക" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "_Deny" +#~ msgstr "അയയ്ക്കുക" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>അവസ്ഥ</b>" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "നാമം:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "സര്വ്വര്:" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>അവസ്ഥ</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>അവസ്ഥ</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "ഘടിപ്പിക്കുക" + +#~ msgid "Email:" +#~ msgstr "ഇ-മെയില്:" + +#~ msgid "Name:" +#~ msgstr "നാമം:" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "ഘടിപ്പിക്കുക" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "ഇ-മെയില്:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "വഴി:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "നാമം:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "നാമം:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "അടയാളവാക്ക്:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "സന്ദേശം:" + +#, fuzzy +#~ msgid "Preset status messages" +#~ msgstr "സന്ദേശം:" + +#, fuzzy +#~ msgid "Preset status messages." +#~ msgstr "സന്ദേശം:" + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "നാമം:" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "വഴി:" + +#, fuzzy +#~ msgid "Server:" +#~ msgstr "സര്വ്വര്:" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "അല്ല" + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "അതെ" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "സന്ദേശം:" + +#, fuzzy +#~ msgid "Available..." +#~ msgstr "ലഭ്യത" + +#, fuzzy +#~ msgid "Busy..." +#~ msgstr "തിരക്ക്" + +#, fuzzy +#~ msgid "Away..." +#~ msgstr "ദൂരെ" + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "വഴി:" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "മുന്ഗണനകള്" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "To:" +#~ msgstr "വരെ:" + +#~ msgid "_Reply..." +#~ msgstr "മറുപടി..." + +#~ msgid "_Send" +#~ msgstr "അയയ്ക്കുക" + +#~ msgid "C_onnect" +#~ msgstr "ഘടിപ്പിക്കുക" + +#~ msgid "_Add" +#~ msgstr "ചേര്ക്കുക" + +#, fuzzy +#~ msgid "Sound" +#~ msgstr "അയയ്ക്കുക" + +#, fuzzy +#~ msgid "translator_credits_old" +#~ msgstr "എഫ്.എസ്.എഫ് - ഇന്ത്യ <gnu@gnu.org.in>" + +#~ msgid "Others" +#~ msgstr "മറ്റുള്ളവ" + +#~ msgid "minutes" +#~ msgstr "മിനിട്ട്" diff --git a/trunk/po/ms.po b/trunk/po/ms.po new file mode 100644 index 000000000..46701a827 --- /dev/null +++ b/trunk/po/ms.po @@ -0,0 +1,1982 @@ +# GnomeICU Malay Translation +# Copyright (C) 2001-2003 Free Software Foundation, Inc. +# 1. Khairulanuar Abd Majid <khairul@ikhlas.com>, 2001, 2002. +# 2. Hasbullah Bin Pit <sebol@ikhlas.com> 2002,2003 +msgid "" +msgstr "" +"Project-Id-Version: gnomeicu 0.95.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2003-11-30 00:07+0730\n" +"Last-Translator: Hasbullah Bin Pit <sebol@ikhlas.com>\n" +"Language-Team: Bahasa Melayu <gabai-penyumbang@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Pesanan Segera" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Pesanan Segera" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Tambah ke senarai kenalan" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Matikan bunyi ketika _away" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Matikan bunyi ketika _sibuk" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Gossip - Kirim Mesej" + +#: ../data/empathy.schemas.in.h:11 +#, fuzzy +msgid "Hide main window" +msgstr "Lebar bagi tetingkap utama" + +#: ../data/empathy.schemas.in.h:12 +#, fuzzy +msgid "Hide the main window." +msgstr "Lebar bagi tetingkap utama" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Papar Senarai Kenalan" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Tinggi bagi tetingkap utama." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Papar kenalan luartalian" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Guna bunyi pemakluman" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Samada memainkan bunyi ketika mesej tiba atau tidak." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Samada memainkan bunyi ketika away atau tidak." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Samada memainkan bunyi ketika sibuk atau tidak." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Samada memainkan bunyi ketika mesej tiba atau tidak." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Samada memapar senarai kenalan yang luartalian pada senarai kenalan." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Samada memapar senarai kenalan yang luartalian pada senarai kenalan." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Samada memapar senarai kenalan yang luartalian pada senarai kenalan." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Luar Talian" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Ada" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Sibuk" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Away" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Papar Senarai Kenalan" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "_Tambah Kenalan..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Sorok Senarai Kenalan" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Sambung" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "_Edit Kegemaran..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Papar Kenalan _Luartalian" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Terima" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Terima" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Tambah Kenalan..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Chat" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Sambung" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "_Keluar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +#, fuzzy +msgid "_New Message..." +msgstr "Kirim _Mesej..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Maklumat peribadi" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "Ke_utamaan" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Keluar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Bilik:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "Per_bualan" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +#, fuzzy +msgid "Status" +msgstr "Mesej Status" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Papar Senarai Kenalan" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Klien Jabber bagi GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "" +"Khairulanuar Abd Majid\n" +"Hasbullah Bin Pit" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Ada" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Kegemaran:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Kegemaran:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Akaun Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Kegemaran:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Kegemaran:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "Mesej Status" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Nama:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Topik:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Contoh: sebol@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "_Katalaluan:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "_Sumber:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Guna peng_enkripsian (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "_Liang:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Pelayan:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +#, fuzzy +msgid "Disconnected" +msgstr "_Putus" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +#, fuzzy +msgid "Connected" +msgstr "Sambung" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "_Maklumat Kenalan" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "_Daftar..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Mesej status:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Alih Tab ke Ki_ri" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Alih Tab ke Ka_nan" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "_Edit Kegemaran..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "Per_bualan" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Leraikan Tab" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "Tab _Berikutnya" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "Tab _Terdahulu" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "_Papar Senarai Kenalan" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Tab" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Salin Alamat Pautan" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Buka Pautan" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Kirim _Mesej..." +msgstr[1] "Kirim _Mesej..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossip - Chat" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "Per_bualan" +msgstr[1] "Per_bualan" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +#, fuzzy +msgid "Typing a message." +msgstr "Mesej sibuk" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "_Tambah Kenalan..." + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Gossip - Chat" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Tambah kenalan" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "_Maklumat Kenalan" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Maklumat kenalan" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/_Tukarnama kumpulan" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Nama _pengguna:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Sila masukkan gelaran baru bagi kenalan\n" +" %s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Buang" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/_Buang kenalan" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossip - Edit Chat Kumpulan" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "_Send File..." +msgstr "Kirim _Mesej..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Kirim _Mesej..." + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "Per_bualan" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Penampilan" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Kegemaran:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Kegemaran:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Mesej Status" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Sambung" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Kegemaran:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "_Nama chat:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Matikan bunyi ketika _away" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Matikan bunyi ketika _sibuk" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Guna bunyi pemakluman" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "Ke_utamaan" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Tukar _smiley ke imej grafik" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Papar Senarai Kenalan" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "Mainkan bunyi bila mesej tiba" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gossip - Edit Chat Kumpulan" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Mesej Tersendiri..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "_Edit Kegemaran..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Adakah anda ingin menerima permintaan?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +#, fuzzy +msgid "Enter status message:" +msgstr "Mesej status:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Mesej Status" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Mesej status:" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s telah luartalian" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s sedang dalamtalian" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "Klien:" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Jangan sambung pada permulaan" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Pesanan Segera" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Pesanan Segera" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Sertai" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Ralat tidak diketahui" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Guna bunyi pemakluman" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Ralat tidak diketahui" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Ada" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Ralat tidak diketahui" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Sambung" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Sambung" + +#, fuzzy +#~ msgid "This feature is unavailable." +#~ msgstr "Pelayan mungkin kini tidak berfungsi." + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Akaun Jabber" + +#~ msgid "Home" +#~ msgstr "Rumah" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Pelayan mungkin kini tidak berfungsi." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Mendaftar akaun" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Pelayan mungkin kini tidak berfungsi." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Putus" + +#~ msgid "Connect" +#~ msgstr "Sambung" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Berjaya mendaftar akaun" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Gagal mendaftar akaun" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Sila masukkan katalaluan anda:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Sila masukkan katalaluan anda:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Sila masukkan nama baru bagi kumpulan\n" +#~ "%s" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>Maklumat dipinta, Sila tunggu...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Saya ingin menambah anda ke senarai kenalan saya." + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "Kirim _Mesej..." +#~ msgstr[1] "Kirim _Mesej..." + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "Mesej permintaan" +#~ msgstr[1] "Mesej permintaan" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Edit Maklumat Akaun" + +#~ msgid "New message from %s" +#~ msgstr "Mesej baru dari %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Terima" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Nama:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Bilik:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Sambung" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>Maklumat dipinta, Sila tunggu...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Anda pasti untuk membuang kenalan\n" +#~ "%s\n" +#~ " dari senarai kenalan anda?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Sila masukkan nama baru bagi kumpulan\n" +#~ "%s" + +#~ msgid "Unsorted" +#~ msgstr "Tidak Diisih" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Ralat tidak diketahui" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "Saya ingin menambah anda ke senarai kenalan saya." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "Saya ingin menambah anda ke senarai kenalan saya." + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_Sambung" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Sambung" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Nama gelaran apa yang anda ingin gunakan bagi kenalan ini?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Topik:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Akaun Jabber" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "Per_bualan" + +#~ msgid "List the available accounts" +#~ msgstr "Senarai akaun yang ada" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Akaun mana untuk disambung pada permulaan" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "NAMA-AKAUN" + +#~ msgid "Available accounts:" +#~ msgstr "Akaun yang ada:" + +#~ msgid "[default]" +#~ msgstr "[default]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Tiada akaun dengan nama '%s'." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Sertai" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "<b>Maklumat dipinta, Sila tunggu...</b>" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[default]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s akan ditambah ke senarai kenalan anda." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "%s akan ditambah ke senarai kenalan anda." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Menghantar permintaan" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "_Maklumat Kenalan" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "Anda pasti untuk membuang kenalan\n" +#~ "%s\n" +#~ " dari senarai kenalan anda?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "Anda pasti untuk membuang kenalan\n" +#~ "%s\n" +#~ " dari senarai kenalan anda?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Sila masukkan katalaluan anda:" + +#~ msgid "Remember Password?" +#~ msgstr "Ingat katalaluan?" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "%s sedang dalamtalian" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Adakah anda ingin menerima permintaan?" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "Nama _pengguna:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "Tapak Web:" + +#~ msgid "Web site:" +#~ msgstr "Tapak Web:" + +#~ msgid "_Accept" +#~ msgstr "_Terima" + +#~ msgid "_Deny" +#~ msgstr "_Dinafikan" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Kegemaran:</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Akaun Jabber" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - Edit Chat Kumpulan" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Sertai" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Jangan sambung pada permulaan" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Nama:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Pelayan:" + +#~ msgid "_Nickname:" +#~ msgstr "_Gelaran:" + +#~ msgid "_Room:" +#~ msgstr "_Bilik:" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>Kegemaran:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Maklumat klien" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Kegemaran:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "Mesej Status" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Tetapan Akaun</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Sambung" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Contoh: sebol@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Akaun Jabber" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "_Tambah Kenalan..." + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Chat" + +#~ msgid "Client:" +#~ msgstr "Klien:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "_Tambah Kenalan..." + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Jangan sambung pada permulaan" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "_Tambah Kenalan..." + +#~ msgid "Country:" +#~ msgstr "Negara:" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "_Tambah Kenalan..." + +#, fuzzy +#~ msgid "Edit Groups" +#~ msgstr "Gossip - Edit Chat Kumpulan" + +#~ msgid "Email:" +#~ msgstr "Emel:" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "JID" + +#~ msgid "Name:" +#~ msgstr "Nama:" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "<b>Tetapan Akaun</b>" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "_Daftar..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Cari:" + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Gossip - Kirim Mesej" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Nama gelaran apa yang anda ingin gunakan bagi kenalan ini?" + +#~ msgid "Version:" +#~ msgstr "Versi:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "Per_bualan" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Apakah namapengguna anda ingin gunakan?" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Sambung" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Keterangan" + +#~ msgid "_Disconnect" +#~ msgstr "_Putus" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Emel:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "Masukka ID pengguna bagi orang yang anda ingin kirim mesej chat." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Liang:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Nama:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Gelaran:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Katalaluan:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Mesej _Status" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "_Buang" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Tapak Web:" + +#, fuzzy +#~ msgid "Preset status messages" +#~ msgstr "Mesej status:" + +#, fuzzy +#~ msgid "Preset status messages." +#~ msgstr "Mesej status:" + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "Sambung" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s akan ditambah ke senarai kenalan anda." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "ID _Jabber bagi kenalan baru:" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Sila masukkan katalaluan anda:" + +#~ msgid "Contact Information for %s" +#~ msgstr "Maklumat Kenalan bagi %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_Maklumat Kenalan" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/_Tukarnama kenalan" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "Gossip - Edit Chat Kumpulan" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "Per_bualan" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Sila masukkan gelaran baru bagi kenalan\n" +#~ " %s" + +#~ msgid "Conversation Log" +#~ msgstr "Log Perbualan" + +#~ msgid "Registering account" +#~ msgstr "Mendaftar akaun" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Sebab:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "_Edit Kegemaran..." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Nama:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossip - Chat" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Maklumat dipinta, Sila tunggu...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Contoh: sebol@jabber.org</span>" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Adakah anda sudah mempunyai akaun pada pelayan Jabber?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Sila masukkan gelaran baru bagi kenalan\n" +#~ " %s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Sila masukkan gelaran baru bagi kenalan\n" +#~ " %s" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Tetapan Selesai" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip adalah klien moden bagi sistem Pesanan Segera Jabber.\n" +#~ "\n" +#~ "Pembantu ini akan membantu anda mengkonfigurasikan Gossip dan sambungkan " +#~ "anda ke pelayan Jabber kegemaran anda.\n" +#~ "\n" +#~ "Untuk bermula, hanya klik \"Maju\"." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "Dalam kumpulan mana anda ingin letak kenalan ini?" + +#~ msgid "Jabber ID:" +#~ msgstr "ID Jabber:" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "_Gelaran:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "_Liang:" + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Mendaftar akaun" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "_Sumber:" + +#~ msgid "Server:" +#~ msgstr "Pelayan:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "Tapak Web:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Selamat Datang ke Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Apa sistem pesanan segera yang anda gunakan yg kenalan ini gunakan?" + +#~ msgid "What is your name?" +#~ msgstr "Apakah nama anda?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Apakah pelayan anda ingin gunakan?" + +#~ msgid "What username do you use?" +#~ msgstr "Apakah namapengguna anda gunakan?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Apakah namapengguna anda ingin gunakan?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Dalam kumpulan mana anda ingin letak kenalan ini?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Gossip kini dikonfigurasikan untuk sistem anda.\n" +#~ "Anda boleh menukar tetapan akaun anda kemudian hari, dengan memilih item " +#~ "menu Chat->Sambung... ." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Akaun Jabber" + +#~ msgid "Your Identity" +#~ msgstr "Indentiti Anda" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Tidak" + +#~ msgid "_Search..." +#~ msgstr "_Cari:" + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Ya" + +#~ msgid "Be silent when away" +#~ msgstr "Senyap bila away" + +#~ msgid "Be silent when busy" +#~ msgstr "Senyap bila sibuk" + +#~ msgid "Height of main window" +#~ msgstr "Tinggi tetingkap utama" + +#, fuzzy +#~ msgid "The X position of the main window." +#~ msgstr "Lebar bagi tetingkap utama." + +#, fuzzy +#~ msgid "The Y position of the main window." +#~ msgstr "Lebar bagi tetingkap utama." + +#~ msgid "The width of the main window." +#~ msgstr "Lebar bagi tetingkap utama." + +#, fuzzy +#~ msgid "Width of the main window" +#~ msgstr "Lebar bagi tetingkap utama" + +#, fuzzy +#~ msgid "X position of main window" +#~ msgstr "Lebar bagi tetingkap utama" + +#, fuzzy +#~ msgid "Y position of main window" +#~ msgstr "Lebar bagi tetingkap utama" + +#, fuzzy +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Klien Jabber bagi GNOME" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Lebar bagi tetingkap utama" + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "Maklumat _Akaun" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Mesej Status" + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s telah luartalian" + +#, fuzzy +#~ msgid "Available..." +#~ msgstr "Ada" + +#, fuzzy +#~ msgid "Busy..." +#~ msgstr "Sibuk" + +#, fuzzy +#~ msgid "Away..." +#~ msgstr "Away" + +#~ msgid "Contact _Information" +#~ msgstr "_Maklumat Kenalan" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Chat Kumpulan" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr " _Sertai Chat Kumpulan..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "_Liang:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Maklumat klien" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Apakah pelayan anda ingin gunakan?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>Sambung ke pelayan</b>" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "Maklumat _Akaun" + +#~ msgid "%sChat - %s" +#~ msgstr "%sChat - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Papar log" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Versi:" + +#, fuzzy +#~ msgid "Latvian" +#~ msgstr "Makan" + +#, fuzzy +#~ msgid "View Lo_g" +#~ msgstr "Lo_g" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - Chat Kumpulan" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Tambah kenalan" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "_Maklumat Kenalan" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - Edit Chat Kumpulan" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - Chat Kumpulan" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - Kirim Mesej" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Gossip - Kirim Mesej" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Keutamaan" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - Kirim Mesej" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Mesej permintaan apa yang anda ingin kirim ke %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Pastikan maklumat akaun anda betul" + +#~ msgid "%s wants to be notified of your presence." +#~ msgstr "%s ingin dimaklumkan dengan kehadiran anda" + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Anda diputuskan drpd pelayan. Adakah anda ingin ulangsambung?" + +#, fuzzy +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "Pastikan maklumat akaun anda betul" + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "Ralat berlaku bila berchat dengan %s." + +#~ msgid "Details:" +#~ msgstr "Perincian:" + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Tak dapat masuk ke chat kumpulan %s." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip kini akan cuba menggunakan akaun anda:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip kini akan cuba mendaftarkan akaun:" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Dari:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - Mesej Diterima" + +#~ msgid "To:" +#~ msgstr "Ke:" + +#~ msgid "_Reply..." +#~ msgstr "_Balas..." + +#~ msgid "_Send" +#~ msgstr "_Kirim" + +#~ msgid "C_onnect" +#~ msgstr "_Sambung" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Bilik chat yang ada</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Maklumat bilik chat</b>" + +#~ msgid "Gossip - Join Group Chat" +#~ msgstr "Gossip - Sertai Chat Kumpulan" + +#~ msgid "N_ickname:" +#~ msgstr "_Gelaran:" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "" +#~ "Pilih kegemaran, atau masukkan nama gelaran, nama pelayan, dan nama bagi " +#~ "bilik chat untuk dimasuki." + +#~ msgid "R_emove" +#~ msgstr "_Buang" + +#~ msgid "_Add" +#~ msgstr "_Tambah" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Maklumat tidak ada</i>" + +#~ msgid "Choose a Server" +#~ msgstr "Pilih Pelayan" + +#~ msgid "Choose from list:" +#~ msgstr "Pilih dari senarai:" + +#~ msgid "Information about ..." +#~ msgstr "Maklumat perihal ...." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "Pada pelayan apa yg anda mempunyai akaun jabber?" + +#~ msgid "Sound" +#~ msgstr "Bunyi" + +#~ msgid "Use a different server" +#~ msgstr "Guna pengenkodan lain" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Mesej permintaan apa yang anda ingin kirim ..?" + +#, fuzzy +#~ msgid "About Gossip" +#~ msgstr "Gossip" + +#, fuzzy +#~ msgid "translator_credits_old" +#~ msgstr "" +#~ "Khairulanuar Abd Majid <khairul@ikhlas.com>\n" +#~ "Hasbullah Bin Pit <sebol@ikhlas.com>, Merlimau." + +#~ msgid "Gossip Website" +#~ msgstr "Tapak Web Gossip" + +#~ msgid "Gossip, Jabber Client" +#~ msgstr "Gossip, Klien Jabber" + +#~ msgid "About to leave..." +#~ msgstr "Akan keluar..." + +#~ msgid "Autoaway message" +#~ msgstr "Mesej auto away" + +#~ msgid "Away messages" +#~ msgstr "Mesej away" + +#~ msgid "Message to show before going away" +#~ msgstr "Mesej untuk dipapar sebelum away" + +#~ msgid "Not at the computer" +#~ msgstr "Tiada di sisi komputer" + +#~ msgid "Just about to leave..." +#~ msgstr "Baru nak keluar..." + +#~ msgid "Custom Busy Message..." +#~ msgstr "Mesej Sibuk Tersendiri..." + +#~ msgid "Leave..." +#~ msgstr "Keluar..." + +#~ msgid "New Busy Message" +#~ msgstr "Mesej Sibuk Baru" + +#~ msgid "New Away Message" +#~ msgstr "Mesej Away Baru" + +#~ msgid "Working" +#~ msgstr "Bekerja" + +#~ msgid "Sleeping" +#~ msgstr "Tidur" + +#~ msgid "Enter the new message:" +#~ msgstr "Masukkan mesej baru:" + +#~ msgid "Leave" +#~ msgstr "Keluar" + +#~ msgid "Preset messages for quickly setting away status." +#~ msgstr "Mesej preset bagi penetapan cepat status away." + +#~ msgid "Preset messages for quickly setting busy status." +#~ msgstr "Mesej preset bagi penetapan cepat status sibuk" + +#~ msgid "Reason for being busy:" +#~ msgstr "Alasan menjadi sibuk:" + +#~ msgid "Reason for leaving:" +#~ msgstr "Alasan keluar:" diff --git a/trunk/po/nb.po b/trunk/po/nb.po new file mode 100644 index 000000000..1fcb96797 --- /dev/null +++ b/trunk/po/nb.po @@ -0,0 +1,2662 @@ +# Norwegian (bokmål) translation of gossip. +# Copyright © 2003-2005 Free Software Foundation, Inc. +# Kjartan Maraas <kmaraas@gnome.org>, 2003, 2004. +# Sigurd Gartmann <sigurdga@yahoo-inc.com>, 2005, 2006. +msgid "" +msgstr "" +"Project-Id-Version: gossip HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-07-18 00:46+0200\n" +"Last-Translator: Sigurd Gartmann <sigurdga@yahoo-inc.com>\n" +"Language-Team: Norwegian <i18n-nb@lister.ping.uio.no>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Øyeblikksmelder" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Øyeblikksmelder" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Alltid åpne et eget vindu til nye samtaler." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Tema for samtalevindu" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Kommaseparert liste over stavekontrollspråk som skal brukes (f.eks no, en, " +"fr, nl)." + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Ingen kontakter" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Forvalgt mappe for personbilde" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Vis oppsprettmeldinger for kontakter som blir tilgjengelige" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Spill av lyd når du er borte" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Slå av lyder når du er _opptatt" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Bruk stavekontroll" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Skjul hovedvinduet" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Skjul hovedvinduet." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Åpne nye samtaler i egne vinduer" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Vis personbilder" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Høyden på hovedvinduet." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Vis frakoblede kontakter" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Stavekontrollspråk" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "Den forrige mappen et personbilde ble valgt fra." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Temaet som brukes til å vise samtaler." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Vis smilefjes grafisk" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Bruk varslingslyder" + +#: ../data/empathy.schemas.in.h:22 +#, fuzzy +msgid "Use theme for chat rooms" +msgstr "Bli med i samtalerommet" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Om smilefjes skal konverteres til grafikk i samtaler." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Om lyder skal spilles av når meldinger kommer inn." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Om lyder skal spilles av når borte." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Om lyder skal spilles av når opptatt." + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Om det skal informeres om at kontakter blir tilgjengelige." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Om bilder av kontakter skal vises i kontaktlisten og samtalevinduer." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Om kontakter som er frakoblet skal vises i kontaktlisten." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Om bilder av kontakter skal vises i kontaktlisten og samtalevinduer." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Frakoblet" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Tilgjengelig" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Opptatt" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Borte" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Vis kontakter" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Gruppe" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "Kontakter" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "S_kjul kontaktliste" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "_Innhold" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "Bli med i favorittene" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Bli med i _ny..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +#, fuzzy +msgid "Manage Favorites..." +msgstr "Bli med i favorittene" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Vis frak_oblede kontakter" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "_Om" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Kontoer" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Legg til kontakt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Prat" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Innhold" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "_Rediger" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "_Hjelp" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Ny melding..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "Personlig _informasjon" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Brukervalg" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Avslutt" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Rom" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "_Vis tidligere samtaler" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Status" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "Vi_s kontaktliste" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip er fri programvare. Du kan gi det videre eller endre det, som " +"beskrevet i GNU General Public License utgitt av Free Software Foundation, " +"versjon to eller en senere versjon, etter ditt ønske." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip er distribuert i håp om at det bil være nyttig, men UTEN GARANTI, " +"ikke engang forhandlergaranti eller garanti om at det passer en spesiell " +"bruk. Se GNU General Public License for mer informasjon om dette. " + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"Du skal ha mottatt en kopi av GNU General Public License sammen med Gossip. " +"Hvis ikke, kontakt Free Software Foundation, Inc., 59 Temple Place, suite " +"330, Boston, MA 02111-1307 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "En meldingsklient for GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"Kjartan Maraas\n" +"Sigurd Gartmann" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Tilgjengelig" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "Slå på" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Kontoinnstillinger</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Kontoinnstillinger</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Kontoer" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"Du holder på å fjerne din %s-konto!\n" +"Er du sikker på at du vil dette?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Tilknyttede samtaler og samtalegrupper vil IKKE fjernes hvis du velger å " +"fortsette.\n" +"\n" +"Skulle du velge å legge til kontoen senere, vil de bli tilgjengelige igjen." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Konto</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Konto</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Kontoinnstillinger</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Prat!" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +#, fuzzy +msgid "Imendio " +msgstr "Imendio Gossip" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Navn:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Emne:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Eksempel: bruker@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "InnloggingsI_D:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "_Passord:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "_Ressurs:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Bruk _kryptering (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Port:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Tjener:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>Kontoinnstillinger</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Koblet fra" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Sett inn smilefjes" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Stavekontroll..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Koblet til" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "T_øm" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Prat" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "Kontakt_informasjon" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "Klipp _ut" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "_Inviter" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Sett inn _smilefjes" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Skriv inn statusmelding:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +#, fuzzy +msgid "Invite" +msgstr "_Inviter" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Flytt fane til _venstre" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Flytt fane til _høyre" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Du er invitert til en konferansesamtale." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "_Legg til i favoritter" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "_Lukk" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Samtale" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "_Kopier" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Løsne fane" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Neste fane" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "_Lim inn" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Forrige fane" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "_Vis kontakter" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Faner" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Kopier lenkens adresse" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Åpne lenke" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Ny melding" +msgstr[1] "Ny melding" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "Samtalerom" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Samtale" +msgstr[1] "_Samtale" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Skriver en melding" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "Kontakter" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Gruppe" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Legg til kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "Kontakt_informasjon" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Kontaktinformasjon" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/E_ndre navn på gruppe" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Filnavn:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "Skriv inn et navn på denne kontoen." + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "Fje_rn" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/Fje_rn kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "_Inviter til samtalerom" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "_Send File..." +msgstr "/_Send fil..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Velg fil" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "Vis tidligere samtaler" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Språk" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Utseende</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Lyd</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Oppførsel</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Status</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Språk</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "<b>Tilkobling</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>På skjerm</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>Denne listen listen viser bare de språkene det er installert ordliste " +"for." + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "Personbilder er valgt av brukerne for å vise i kontaktlisten" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "Samtale_tema:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Si fra når kontakter logger _på" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Spill av lyder når du er _borte" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Spill av lyder når du er _opptatt" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Generelt" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Varslinger" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Brukervalg" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Vis person_bilder" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Vis _smilefjes som bilder" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "Vi_s kontaktliste" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Stavekontroll" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +#, fuzzy +msgid "_Enable spell checking" +msgstr "Bruk stavekontroll" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Åpne nye samtaler i egne vinduer" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "S_pill av lyd når meldinger kommer" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Lagre _dette samtalerommet" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Egendefinert melding..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Tøm listen..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Er du sikker på at du vil tømme listen?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"Dette vil fjerne alle egendefinerte meldinger du har lagt til listen over " +"statusmeldinger." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Tøm" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Skriv inn statusmelding:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Forvalgte statusmeldinger" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "_Legg til i statusmeldingslisten" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s koblet fra" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s logget på" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Klassisk" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Enkel" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Tøm" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Blå" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Ikke koble til ved oppstart" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Gossip meldingsprogram" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Gossip øyeblikksmelder" + +#~ msgid "Normal" +#~ msgstr "Normal" + +#~ msgid "Joining" +#~ msgstr "Blir med" + +#~ msgid "Active" +#~ msgstr "Aktiv" + +#~ msgid "Inactive" +#~ msgstr "Inaktiv" + +#~ msgid "Unknown" +#~ msgstr "Ukjent" + +#~ msgid "Error" +#~ msgstr "Problem" + +#, fuzzy +#~ msgid "No role" +#~ msgstr "Normal" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Varslinger" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "Kallenavnet du valgte er allerede i bruk." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "Samtalerommet du prøver å bli med i krever passord." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "Konferansetjeneren svarte ikke innen rimelig tid." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "Konferansetjeneren du prøvde å koble til finnes ikke." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "" +#~ "En ukjent feil skjedde, kontroller at innstillingene er rett satt opp." + +#, fuzzy +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "Bli med i samtalerommet" + +#~ msgid "Unavailable" +#~ msgstr "Utilgjengelig" + +#~ msgid "An unknown error occurred." +#~ msgstr "En ukjent feil oppstod." + +#~ msgid "Connection refused." +#~ msgstr "Tilkobling nektes." + +#~ msgid "Server address could not be resolved." +#~ msgstr "Tjeneradressen kunne ikke slås opp." + +#~ msgid "Connection timed out." +#~ msgstr "Tidsavbrudd på tilkobling." + +#~ msgid "Authentication failed." +#~ msgstr "Autentisering mislykket." + +#~ msgid "The username you are trying already exists." +#~ msgstr "Brukernavnet du prøver å bruke finnes allerede." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "Brukernavnet du prøver å bruke er ugyldig." + +#~ msgid "This feature is unavailable." +#~ msgstr "Denne funksjonaliteten er utilgjengelig." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Denne funksjonaliteten er ikke godkjent." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "En uventet protokollfeil oppstod." + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Ny konto" + +#~ msgid "Home" +#~ msgstr "Hjem" + +#~ msgid "Couldn't send message!" +#~ msgstr "Kunne ikke sende melding!" + +#~ msgid "Connection could not be opened" +#~ msgstr "Tilkobling kunne ikke åpnes" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Denne funksjonaliteten er utilgjengelig." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Registrering" + +#, fuzzy +#~ msgid "There was an internal service error" +#~ msgstr "Intern tjenerfeil" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Denne funksjonaliteten er ikke godkjent." + +#, fuzzy +#~ msgid "The remote service timed out" +#~ msgstr "Fjerntjener overskred tidsgrensen" + +#~ msgid "Stop" +#~ msgstr "Stopp" + +#~ msgid "Disconnect" +#~ msgstr "Logg av" + +#~ msgid "Connect" +#~ msgstr "Koble til" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Registrering av konto fullført" + +#, fuzzy +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "Du kan ikke bruke --no-connect sammen med --account" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Kunne ikke registrere dine nye kontoinnstillinger" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Skriv inn passordet ditt:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Skriv inn passordet ditt:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Vennligst skriv inn et nytt navn for gruppen:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Ingen informasjon er tilgjengelig for denne kontakten." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Informasjon forespurt. Vennligst vent..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Jeg ønsker å legge deg til i min kontaktliste." + +#~ msgid "To summarize:" +#~ msgstr "Oppsummering:" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "Ny melding" +#~ msgstr[1] "Ny melding" + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Abonnementsforespørsel" +#~ msgstr[1] "Abonnementsforespørsel" + +#, fuzzy +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "Forespørsel om filoverføring" +#~ msgstr[1] "Forespørsel om filoverføring" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "Kunne ikke sende melding!" +#~ msgstr[1] "Kunne ikke sende melding!" + +#, fuzzy +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "Problem" +#~ msgstr[1] "Problem" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Hvis du avslutter, vil du miste all ulest informasjon." + +#~ msgid "Edit Account _Details" +#~ msgstr "Rediger _kontoinformasjon" + +#~ msgid "Click to enlarge" +#~ msgstr "Klikk for å forstørre" + +#~ msgid "Word" +#~ msgstr "Ord" + +#~ msgid "New message from %s" +#~ msgstr "Ny melding fra %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "Din invitasjon har blitt avslått" + +#~ msgid "Accept" +#~ msgstr "Godta" + +#~ msgid "Decline" +#~ msgstr "Avslå" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Navn:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Rom" + +#~ msgid "Auto Connect" +#~ msgstr "Automatisk tilkobling" + +#~ msgid "Information requested..." +#~ msgstr "Informasjon forespurt..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "Vil du fjerne denne kontakten fra listen din?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Vennligst skriv inn et nytt navn for gruppen:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Velg" + +#~ msgid "Unsorted" +#~ msgstr "Usortert" + +#~ msgid "New file transfer request from %s" +#~ msgstr "Ny filoverføringsforespørsel fra %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "Filoverføring er ikke støttet hos begge parter." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Din filoverføringsforespørsel ble avslått." + +#~ msgid "The other user decided not to continue." +#~ msgstr "Den andre brukeren vil ikke mer." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "En ukjent feil oppstod under filoverføring." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s ønsker å sende deg en fil." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Noen ønsker å sende deg en fil." + +#~ msgid "Select a file" +#~ msgstr "Velg fil" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_Koble til..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Avbryt pålogging" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "Inviterte %s til å bli med i denne konferansesamtalen." + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s har satt emnet" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Hvilket kallenavn vil du bruke for denne kontakten?" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "%s har satt emnet" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "%s har satt emnet" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Emne:" + +#~ msgid "Account" +#~ msgstr "Konto" + +#~ msgid "Conversation With" +#~ msgstr "Samtale med" + +#~ msgid "Date" +#~ msgstr "Dato" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "Tillat flere kjøringer av programmet på samme tid" + +#~ msgid "List the available accounts" +#~ msgstr "List tilgjengelige kontoer" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Konto som skal brukes ved oppstart" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "KONTONAVN" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "Du kan ikke bruke --no-connect sammen med --account" + +#~ msgid "No accounts available." +#~ msgstr "Ingen tilgjengelige kontoer." + +#~ msgid "Available accounts:" +#~ msgstr "Tilgjengelige kontoer:" + +#~ msgid "[default]" +#~ msgstr "[forvalg]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Det finnes ingen konto med navnet «%s»." + +#~ msgid "Join" +#~ msgstr "Bli med" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Dato" + +#~ msgid "Chat Rooms" +#~ msgstr "Samtalerom" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Prøver å gå inn i praterom. Vennligst vent..." + +#~ msgid "Default" +#~ msgstr "Forvalgt" + +#~ msgid "Chat!" +#~ msgstr "Prat!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s vil bli lagt til i din kontaktliste." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Noen vil bli lagt til i din kontaktliste." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Abonnementsforespørsel" + +#~ msgid "Show" +#~ msgstr "Vis" + +#~ msgid "Contact Information" +#~ msgstr "Kontaktinformasjon" + +#~ msgid "Subject: %s" +#~ msgstr "Emne: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Forslag for ordet" + +#~ msgid "New subscription request from %s" +#~ msgstr "Ny abonnementsforespørsel fra %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Vil du legge denne personen til din kontaktliste?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Vil du legge til %s i din kontaktliste?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Skriv inn passordet til %s-kontoen" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "Logger på med: %s" + +#~ msgid "Remember Password?" +#~ msgstr "Husk passordet?" + +#~ msgid "Could not display the help contents." +#~ msgstr "Kunne ikke vise innholdslisten for hjelp." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Velg personbilde" + +#~ msgid "No Image" +#~ msgstr "Ingen bilde" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Tjeneren ser ikke ut til å svare." + +#~ msgid "Try again later." +#~ msgstr "Prøv igjen senere." + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Prat" + +#~ msgid "Contact goes offline" +#~ msgstr "Kontakt kobler av" + +#~ msgid "Contact goes online" +#~ msgstr "Kontakt kobler til" + +#~ msgid "Contact ID:" +#~ msgstr "KontaktID:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Vil du motta denne filen?" + +#~ msgid "File Transfer Request" +#~ msgstr "Forespørsel om filoverføring" + +#~ msgid "File name:" +#~ msgstr "Filnavn:" + +#~ msgid "File size:" +#~ msgstr "Filstørrelse:" + +#~ msgid "Not supported yet" +#~ msgstr "Ennå ikke støttet" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Personen ønsker å sende deg denne filen:" + +#~ msgid "Web site:" +#~ msgstr "Nettsted:" + +#~ msgid "_Accept" +#~ msgstr "Godt_a" + +#~ msgid "_Deny" +#~ msgstr "_Nekt" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Om</b>" + +#~ msgid "Account:" +#~ msgstr "Konto:" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Rediger samtalerom" + +#~ msgid "Group Chat" +#~ msgstr "Gruppesamtale" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "Bli med i _ny..." + +#~ msgid "Join room on start_up" +#~ msgstr "Bli med i rom ved oppstart" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "" +#~ "Bli med i dette samtalerommet når Gossip starter opp og du blir koblet til" + +#, fuzzy +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Behandl samtalerom" + +#~ msgid "N_ame:" +#~ msgstr "_Navn:" + +#~ msgid "S_erver:" +#~ msgstr "_Tjener:" + +#~ msgid "_Nickname:" +#~ msgstr "Kalle_navn:" + +#~ msgid "_Room:" +#~ msgstr "_Rom:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>Om</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Klientinformasjon</b>" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Om</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Språk</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Personlig informasjon</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Abonnement" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "" +#~ "<span size=\"smaller\">Eksempel: Mikael eller bruker@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Konto:" + +#~ msgid "Add Contact" +#~ msgstr "Legg til kontakt" + +#, fuzzy +#~ msgid "Alia_s:" +#~ msgstr "Alias:" + +#~ msgid "Avatar:" +#~ msgstr "Bilde:" + +#~ msgid "Ch_at" +#~ msgstr "Pr_at" + +#~ msgid "Client:" +#~ msgstr "Klient:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "Kontakter" + +#~ msgid "Connect on S_tartup" +#~ msgstr "Koble til ved _oppstart" + +#~ msgid "Contacts" +#~ msgstr "Kontakter" + +#~ msgid "Country:" +#~ msgstr "Land:" + +#~ msgid "Decide _Later" +#~ msgstr "A_vgjør senere" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "Legg til kontakt" + +#~ msgid "Edit Groups" +#~ msgstr "Rediger grupper" + +#~ msgid "Email:" +#~ msgstr "E-post:" + +#~ msgid "ID:" +#~ msgstr "ID:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Dersom du velger å avgjøre dette senere, vil du bli spurt om dette neste " +#~ "gang du logger på." + +#~ msgid "Name:" +#~ msgstr "Navn:" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#~ msgid "Personal Details" +#~ msgstr "Personlig informasjon" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Re_gistrer..." + +#~ msgid "Search" +#~ msgstr "Søk" + +#~ msgid "Spell Checker" +#~ msgstr "Stavekontroll" + +#~ msgid "Subscription Request" +#~ msgstr "Abonnementsforespørsel" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Forslag for ordet:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Dette fungerer som et filter for kontaktlisten under. Du kan bruke deler " +#~ "av kontaktens navn eller ID. For eksempel vil «jabber.org» vise alle som " +#~ "bruker den tjeneren." + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Dette er navnet som vil bli brukt om personen i kontaktlisten din" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Dette navnet vil være ditt navn i samtalevinduer" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Dette navnet vil bli brukt for å identifisere deg når kontakter etterspør " +#~ "detaljert informasjon om deg" + +#~ msgid "Use system pro_xy" +#~ msgstr "Bruk systemets pro_xy" + +#~ msgid "Version:" +#~ msgstr "Versjon:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Vis tidligere samtaler" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Hvilken konto vil du bruke?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Du abonnerer ikke på statusinformasjon for denne kontakten." + +#~ msgid "_Connect" +#~ msgstr "_Koble til" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Beskrivelse:" + +#~ msgid "_Disconnect" +#~ msgstr "Koble _fra" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "E-post:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Skriv inn navnet eller kontaktID til personen du vil snakke med under:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Port:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "_Navn:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Gruppe:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "Kalle_navn:" + +#~ msgid "_Password:" +#~ msgstr "_Passord:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "_Statusmeldinger" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "Fje_rn" + +#~ msgid "_Subscribe" +#~ msgstr "_Abonner" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Nettsted:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>Kontoinnstillinger</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>Kontoinnstillinger</b>" + +#~ msgid "Preset status messages" +#~ msgstr "Forhåndsdefinerte statusmeldinger" + +#~ msgid "Preset status messages." +#~ msgstr "Forhåndsdefinerte statusmeldinger." + +#~ msgid "Edit" +#~ msgstr "Rediger" + +#~ msgid "Connecting" +#~ msgstr "Logger på" + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "Kanskje du prøver å koble til feil port?" + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "Kanskje tjenesten ikke kjører for øyeblikket?" + +#~ msgid "Check your connection details." +#~ msgstr "Sjekk tilkoblingen din." + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "Kanskje tjeneren ikke kjører denne tjenesten." + +#~ msgid "Check your username and password are correct." +#~ msgstr "Kontroller at brukernavn og passord er korrekt." + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s vil bli lagt til i din kontaktliste." + +#~ msgid "%s ID of new contact:" +#~ msgstr "%s-ID for den nye kontakten:" + +#~ msgid "Example: %s" +#~ msgstr "Eksempel: %s" + +#~ msgid "Show accounts and pending connections" +#~ msgstr "Vis kontoer og utestående tilkoblinger" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "Du har ikke satt opp noen meldingskontoer!" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "" +#~ "Du vil nå få opp kontoinformasjon så du kan skrive inn dine innstillinger." + +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "" +#~ "Vennligst skriv inn invitasjonsmelding til:\n" +#~ "%s" + +#~ msgid "Favourite" +#~ msgstr "Favoritt" + +#~ msgid "/Contact Infor_mation" +#~ msgstr "/Kontakt_informasjon" + +#~ msgid "/Re_name Contact" +#~ msgstr "/E_ndre navn på kontakt" + +#~ msgid "/_Edit Groups" +#~ msgstr "/R_ediger grupper" + +#~ msgid "/_View Previous Conversations" +#~ msgstr "/_Vis tidligere samtaler" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Vennligst skriv inn et kallenavn for kontakten\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Rediger grupper for %s" + +#~ msgid "Conversation Log" +#~ msgstr "Samtalelogg" + +#~ msgid "Registering account" +#~ msgstr "Registrerer konto" + +#~ msgid "Example" +#~ msgstr "Eksempel" + +#~ msgid "Add to _favourites" +#~ msgstr "Legg til i _favoritter" + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "Endre eget kallenavn, tjeneren og samtalerommet du vil delta i." + +#~ msgid "Edit your chat room details:" +#~ msgstr "Rediger innstillingene for samtalerommet:" + +#~ msgid "Na_me:" +#~ msgstr "_Navn:" + +#~ msgid "New Chat Room" +#~ msgstr "Nytt samtalerom" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "" +#~ "Velg et lagret samtalerom fra listen under og velg \"Bli med\" for å bli " +#~ "med i en gruppesamtale." + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Informasjon forespurt. Vennligst vent...</b>" + +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Eksempel:</span>" + +#~ msgid "Account Name" +#~ msgstr "Kontonavn" + +#~ msgid "Connection Details" +#~ msgstr "Tilkoblingsinformasjon" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Har du allerede en konto på en Jabber-tjener?" + +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Skriv inn portnummeret som skal brukes ved tilkobling av denne kontoen." + +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Skriv inn navnet på tjeneren som skal brukes ved tilkobling av denne " +#~ "kontoen." + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Oppgi brukerens kontaktID:" + +#~ msgid "Enter your real name here" +#~ msgstr "Skriv navnet ditt her" + +#~ msgid "Finished" +#~ msgstr "Fullført" + +#~ msgid "For increased security, enable this option" +#~ msgstr "For økt sikkerhet, velg dette alternativet" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip er en moderne klient for meldingssystemet Jabber.\n" +#~ "\n" +#~ "Denne veiviseren vil hjelpe deg med å konfigurere Gossip og å koble deg " +#~ "til din foretrukne Jabber-tjener.\n" +#~ "\n" +#~ "Klikk «Fremover» for å starte." + +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option" +#~ msgstr "" +#~ "Velg dette valget dersom du har en mellomtjener mot internett, og du vil " +#~ "bruke denne." + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "Hvis du må oppgi flere detaljer om tilkoblingen din, som f.eks en annen " +#~ "tjener eller port, kan du skrive inn disse her:" + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "For å kunne motta statusinformasjon fra brukeren, sendes det en " +#~ "forespørsel. Til denne forespørselen er godkjent, vil brukeren alltid " +#~ "vises som «avlogget» i kontaktlisten." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "Hvilken gruppe vil du plassere denne kontakten?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber-ID:" + +#~ msgid "" +#~ "Leave this blank if you don't want your password stored on a public " +#~ "machine. If you decide to do this, you will be prompted each time you " +#~ "connect for a password" +#~ msgstr "" +#~ "La dette så blankt hvis du ikke vil lagre passordet på en offentlig " +#~ "maskin. Du vil da bli spurt om passord hver gang du kobler til" + +#~ msgid "Nickname:" +#~ msgstr "Kallenavn:" + +#~ msgid "Port:" +#~ msgstr "Port:" + +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "Trykk Abonner for å be om statusinformasjon" + +#~ msgid "Registering Account" +#~ msgstr "Registrerer konto" + +#~ msgid "Resource:" +#~ msgstr "Ressurs:" + +#~ msgid "Sending request" +#~ msgstr "Sender forespørsel" + +#~ msgid "Server:" +#~ msgstr "Tjener:" + +#~ msgid "Web Site:" +#~ msgstr "Nettsted:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Velkommen til Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Hvilket system for øyeblikksmeldinger bruker kontakten?" + +#~ msgid "What is your name?" +#~ msgstr "Hva heter du?" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "Hva slags navn vil du bruke for å kjenne igjen denne kontoen?\n" +#~ "\n" +#~ "Dette kan være noe som forbinder du forbinder med tjenesteleverandøren, " +#~ "for eksempel <b>Google</b>." + +#~ msgid "What password do you want to use?" +#~ msgstr "Hvilket passord vil du bruke?" + +#~ msgid "What username do you use?" +#~ msgstr "Hvilket brukernavn bruker du?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Hvilket brukernavn vil du bruke?" + +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Hvilken konto vil du plassere denne kontakten i?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Du kan endre kontoinnstillingene senere via menyen Rediger -> Kontoer." + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "" +#~ "Du må finne på et navn for tilkoblingen. For eksempel <b>Hjemme</b> eller " +#~ "<b>Bærbar</b>." + +#~ msgid "Your Account" +#~ msgstr "Din konto" + +#~ msgid "Your Identity" +#~ msgstr "Din identitet" + +#~ msgid "Your new account has now been set up." +#~ msgstr "Din nye konto har nå blitt satt opp." + +#~ msgid "_Forget" +#~ msgstr "_Glem" + +#~ msgid "_Group Chat" +#~ msgstr "_Gruppesamtale" + +#~ msgid "_No" +#~ msgstr "_Nei" + +#~ msgid "_Search..." +#~ msgstr "_Søk..." + +#~ msgid "_Yes" +#~ msgstr "_Ja" + +#~ msgid "Contact Information for %s" +#~ msgstr "Kontaktinformasjon for %s" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Svar" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - Samtalerom" + +#~ msgid "Be silent when away" +#~ msgstr "Vær stille når borte" + +#~ msgid "Be silent when busy" +#~ msgstr "Vær stille når opptatt" + +#~ msgid "Height of main window" +#~ msgstr "Høyde på hovedvinduet" + +#~ msgid "The X position of the main window." +#~ msgstr "X-posisjon for hovedvinduet." + +#~ msgid "The Y position of the main window." +#~ msgstr "Y-posisjon for hovedvinduet." + +#~ msgid "The width of the main window." +#~ msgstr "Bredden på hovedvinduet." + +#~ msgid "Whether spell checking should be turned on." +#~ msgstr "Om stavekontroll skal være slått på." + +#~ msgid "Width of the main window" +#~ msgstr "Bredde på hovedvinduet" + +#~ msgid "X position of main window" +#~ msgstr "X-posisjon for hovedvinduet" + +#~ msgid "Y position of main window" +#~ msgstr "Y-posisjon for hovedvinduet" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, klient for øyeblikksmeldinger" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Lagre _dette samtalerommet" + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "Informasjonsforespørsel" + +#, fuzzy +#~ msgid "/_Invite to Chat Conference" +#~ msgstr "/In_viter til konferansesamtale" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Statusmelding" + +#~ msgid "%s has gone offline" +#~ msgstr "%s logget av" + +#~ msgid "Available..." +#~ msgstr "Tilgjengelig..." + +#~ msgid "Busy..." +#~ msgstr "Opptatt..." + +#~ msgid "Away..." +#~ msgstr "Borte..." + +#~ msgid "Contact _Information" +#~ msgstr "Kontakt_informasjon" + +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Lyd</b>" + +#~ msgid "Check spelling while I _type" +#~ msgstr "Sjekk staving mens jeg _skriver" + +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Kontoer" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "Bl_i med i gruppesamtale..." + +#~ msgid "Por_t:" +#~ msgstr "P_ort" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Klientinformasjon" + +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "Spør etter personlige detaljer. Vennligst vent..." + +#~ msgid "Written by:" +#~ msgstr "Skrevet av:" + +#~ msgid "Artwork by:" +#~ msgstr "Grafikk av:" + +#~ msgid "Translated by:" +#~ msgstr "Oversatt av:" + +#~ msgid "%sChat - %s" +#~ msgstr "%sPrat - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Vis _logg" + +#~ msgid "Afrikaans" +#~ msgstr "Afrikaans" + +#~ msgid "Arabic" +#~ msgstr "Arabisk" + +#~ msgid "Belarusian" +#~ msgstr "Hviterussisk" + +#~ msgid "Bulgarian" +#~ msgstr "Bulgarsk" + +#~ msgid "Bosnian" +#~ msgstr "Bosnisk" + +#~ msgid "Catalan" +#~ msgstr "Katalansk" + +#~ msgid "Czech" +#~ msgstr "Tsjekkisk" + +#~ msgid "Welsh" +#~ msgstr "Walisisk" + +#~ msgid "Danish" +#~ msgstr "Dansk" + +#~ msgid "German" +#~ msgstr "Tysk" + +#~ msgid "German (Austria)" +#~ msgstr "Tysk (Østerrike)" + +#~ msgid "German (Germany)" +#~ msgstr "Tysk (Tyskland)" + +#~ msgid "German (Swiss)" +#~ msgstr "Tysk (Sveits)" + +#~ msgid "Greek" +#~ msgstr "Gresk" + +#~ msgid "English" +#~ msgstr "Engelsk" + +#~ msgid "English (Canadian)" +#~ msgstr "Engelsk (Canadisk)" + +#~ msgid "English (British)" +#~ msgstr "Engelsk (Britisk)" + +#~ msgid "English (American)" +#~ msgstr "Engelsk (Amerikansk)" + +#~ msgid "Esperanto" +#~ msgstr "Esperanto" + +#~ msgid "Spanish" +#~ msgstr "Spansk" + +#~ msgid "Estonian" +#~ msgstr "Estisk" + +#~ msgid "Basque" +#~ msgstr "Baskisk" + +#~ msgid "Persian" +#~ msgstr "Persisk" + +#~ msgid "Finnish" +#~ msgstr "Finsk" + +#~ msgid "French" +#~ msgstr "Fransk" + +#~ msgid "French (France)" +#~ msgstr "Fransk (Frankrike)" + +#~ msgid "French (Swiss)" +#~ msgstr "Fransk (Sveits)" + +#~ msgid "Irish Gaelic" +#~ msgstr "Irsk Gælisk" + +#~ msgid "Scots Gaelic" +#~ msgstr "Skotsk Gælisk" + +#~ msgid "Hebrew" +#~ msgstr "Hebraisk" + +#~ msgid "Croatian" +#~ msgstr "Kroatisk" + +#~ msgid "Hungarian" +#~ msgstr "Ungarsk" + +#~ msgid "Indonesian" +#~ msgstr "Indonesisk" + +#~ msgid "Icelandic" +#~ msgstr "Islandsk" + +#~ msgid "Italian" +#~ msgstr "Italiensk" + +#~ msgid "Japanese" +#~ msgstr "Japansk" + +#~ msgid "Georgian" +#~ msgstr "Georgisk" + +#~ msgid "Korean" +#~ msgstr "Koreansk" + +#~ msgid "Kurdish" +#~ msgstr "Kurdisk" + +#~ msgid "Latvian" +#~ msgstr "Latvisk" + +#~ msgid "Macedonian" +#~ msgstr "Makedonsk" + +#~ msgid "Mongolian" +#~ msgstr "Mongolsk" + +#~ msgid "Norwegian (Bokmal)" +#~ msgstr "Norsk (Bokmål)" + +#~ msgid "Nepali" +#~ msgstr "Nepalsk" + +#~ msgid "Dutch" +#~ msgstr "Nederlandsk" + +#~ msgid "Norwegian" +#~ msgstr "Norsk" + +#~ msgid "Norwegian (Nynorsk)" +#~ msgstr "Norsk (Nynorsk)" + +#~ msgid "Punjabi" +#~ msgstr "Punjabi" + +#~ msgid "Polish" +#~ msgstr "Polsk" + +#~ msgid "Portuguese" +#~ msgstr "Portugisisk" + +#~ msgid "Portuguese (Portugal)" +#~ msgstr "Portugisisk (Portugal)" + +#~ msgid "Portuguese (Brazil)" +#~ msgstr "Portugisisk (Brasil)" + +#~ msgid "Romanian" +#~ msgstr "Rumensk" + +#~ msgid "Russian" +#~ msgstr "Russisk" + +#~ msgid "Slovak" +#~ msgstr "Slovakisk" + +#~ msgid "Slovenian" +#~ msgstr "Slovensk" + +#~ msgid "Albanian" +#~ msgstr "Albansk" + +#~ msgid "Serbian" +#~ msgstr "Serbisk" + +#~ msgid "Swedish" +#~ msgstr "Svensk" + +#~ msgid "Turkish" +#~ msgstr "Tyrkisk" + +#~ msgid "Ukrainian" +#~ msgstr "Ukrainsk" + +#~ msgid "Vietnamese" +#~ msgstr "Vietnamesisk" + +#~ msgid "Yiddish" +#~ msgstr "Yiddisk" + +#~ msgid "Chinese Simplified" +#~ msgstr "Kinesisk (Forenklet)" + +#~ msgid "Chinese Traditional" +#~ msgstr "Kinesisk (Tradisjonell)" + +#~ msgid "View Lo_g" +#~ msgstr "Vis lo_gg" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - Gruppesamtale" + +#~ msgid "Gossip - New Chatroom" +#~ msgstr "Gossip - Nytt samtalerom" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Gossip - Add contact" +#~ msgstr "Gossip - Legg til kontakt" + +#~ msgid "Gossip - Contact Information" +#~ msgstr "Gossip - Kontaktinformasjon" + +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - Rediger grupper" + +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - Ny konto" + +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - Ny melding" + +#~ msgid "Gossip - Personal Details" +#~ msgstr "Gossip - Personlig informasjon" + +#~ msgid "Gossip - Preferences" +#~ msgstr "Gossip - Brukervalg" + +#~ msgid "Gossip - Spell Checker" +#~ msgstr "Gossip - Stavekontroll" + +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - Statusmelding" + +#~ msgid "Personal Details Saved!" +#~ msgstr "Personlig informasjon lagret!" + +#~ msgid "Waiting for server to respond, please wait..." +#~ msgstr "Venter på svar fra tjener..." + +#~ msgid "" +#~ "You can identify this account with a name, for example, <b>Home</b> or " +#~ "<b>Work</b>. Choose a name for this account:" +#~ msgstr "" +#~ "Du kan identifisere denne kontoen med et navn, f.eks <b>Hjem</b> eller " +#~ "<b>Arbeid</b>. Velg et navn for denne kontoen:" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Hvilken tjener vil du bruke?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "Tilkobling kunne ikke åpnes" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "Legg til konto" + +#~ msgid "Redirect" +#~ msgstr "Videresend" + +#~ msgid "Bad Request" +#~ msgstr "Feil i forespørsel" + +#~ msgid "Not Authorized" +#~ msgstr "Ikke godkjent" + +#~ msgid "Payment Required" +#~ msgstr "Betaling kreves" + +#~ msgid "Forbidden" +#~ msgstr "Forbudt" + +#~ msgid "Not Found" +#~ msgstr "Ikke funnet" + +#~ msgid "Not Allowed" +#~ msgstr "Ikke tillatt" + +#~ msgid "Not Acceptable" +#~ msgstr "Ikke akseptert" + +#~ msgid "Request Timeout" +#~ msgstr "Forespørsel overskred tidsgrensen" + +#~ msgid "Conflict" +#~ msgstr "Konflikt" + +#~ msgid "Not Implemented" +#~ msgstr "Ikke implementert" + +#~ msgid "Remote Server Error" +#~ msgstr "Fjerntjenerfeil" + +#~ msgid "Service Unavailable" +#~ msgstr "Tjeneste utilgjengelig" + +#~ msgid "Edit List..." +#~ msgstr "Rediger liste..." + +#~ msgid "Custom" +#~ msgstr "Egendefinert" + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip vil prøve å bruke kontoen:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip vil prøve å registrere kontoen:" + +#~ msgid "" +#~ "If you continue, you will not be able to talk to the 1 contact you are " +#~ "using this account for!" +#~ msgstr "" +#~ "Dersom du velger å fortsette, vil du ikke kunne snakke med den ene " +#~ "kontakten du bruker denne kontoen til å snakke med." + +#~ msgid "" +#~ "If you continue, you will not be able to add or talk to contacts using " +#~ "this transport!" +#~ msgstr "" +#~ "Dersom du velger å fortsette, vil du ikke kunne legge til eller snakke " +#~ "med kontakter med denne transporten." + +#~ msgid "" +#~ "If you continue, you will not be able to talk to the %d contacts you are " +#~ "using this account for!" +#~ msgstr "" +#~ "Dersom du velger å fortsette, vil du ikke kunne snakke med de %d " +#~ "kontaktene du bruker denne kontoen til å snakke med." + +#~ msgid "Searching Local Services..." +#~ msgstr "Søker gjennom lokale tjenester..." + +#~ msgid "Searching Local Services (%d of %d)" +#~ msgstr "Søker gjennom lokale tjenester (%d av %d)" + +#~ msgid "Talking to available services..." +#~ msgstr "Snakker med tilgjengelige tjenester..." + +#~ msgid "Searching 3rd Party Services..." +#~ msgstr "Søker gjennom tredjepartstjenester..." + +#~ msgid "Searching 3rd Party Services (%d of %d)" +#~ msgstr "Søker gjennom tredjepartstjenester (%d av %d)" + +#~ msgid "Sorry, no services found at this time." +#~ msgstr "Beklager, ingen tjenester funnet denne gang." + +#~ msgid "" +#~ "Currently no providers are available for the account type you are trying " +#~ "to configure. Please try again later." +#~ msgstr "" +#~ "Det er ingen tjenestetilbydere tilgjengelig for den kontoen du prøver å " +#~ "sette opp akkurat nå. Prøv igjen senere." + +#~ msgid "Select your preferred service." +#~ msgstr "Velg fortrukket tjeneste." + +#~ msgid "This will be used to configure your account details." +#~ msgstr "Dette vil bli brukt til å sette opp din kontoinformasjon." + +#~ msgid "Unable to Register" +#~ msgstr "Klarte ikke å registrere" + +#~ msgid "The service confirmed the user '%s' is already registered." +#~ msgstr "Tjenesten sa at brukeren «%s» allerede er registrert." + +#~ msgid "" +#~ "When registering a token is provided by the service to register with, in " +#~ "this case, the token has not been sent." +#~ msgstr "" +#~ "Ved registrering sendes det et signal fra tjenesten du registrerer mot, " +#~ "men i dette tilfellet ble det ikke sendt noe signal." + +#~ msgid "Please try again, or perhaps another service." +#~ msgstr "Prøv igjen, kanskje med en annen tjeneste." + +#~ msgid "Configuring Roster" +#~ msgstr "Setter opp kontaktliste" + +#~ msgid "Registration Successful!" +#~ msgstr "Registrering gikk bra!" + +#~ msgid "You are now able to add contacts using this transport." +#~ msgstr "Du kan nå legge til kontakter med denne transporten." + +#~ msgid "Service" +#~ msgstr "Tjeneste" + +#~ msgid "Checking your local service first..." +#~ msgstr "Sjekker din lokale tjeneste først..." + +#~ msgid "" +#~ "<b>Configuring your new service...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>Sette opp dine nye tjenester...</b>\n" +#~ "Dette vil ta litt tid. Vennligst vent." + +#~ msgid "Registering With Service" +#~ msgstr "Registrerer deg hos tjeneste" + +#~ msgid "Saving personal details, please wait..." +#~ msgstr "Lagrer personlige innstillinger. Vennligst vent..." + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Fra:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - Mottatt melding" + +#~ msgid "In reply to:" +#~ msgstr "I svar til:" + +#~ msgid "To:" +#~ msgstr "Til:" + +#~ msgid "_Reply..." +#~ msgstr "Sva_r..." + +#~ msgid "_Send" +#~ msgstr "_Send" + +#~ msgid "<b>Connect to server</b>" +#~ msgstr "<b>Koble til tjener</b>" + +#~ msgid "C_onnect" +#~ msgstr "K_oble til" + +#~ msgid "Connect _Server:" +#~ msgstr "Koble til _tjener:" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber-ID:" + +#~ msgid "Edit or Delete this favorite." +#~ msgstr "Redigér eller slett denne favoritten." + +#~ msgid "Gossip - Edit Favorite" +#~ msgstr "Gossip - rediger favoritt" + +#~ msgid "Imendio Gossip - Group Chat" +#~ msgstr "Imendio Gossip - gruppesamtale" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Personal information</b>" +#~ msgstr "<b>Personlig informasjon</b>" + +#~ msgid "<b>Preferred Service</b>" +#~ msgstr "<b>Foretrukket tjeneste</b>" + +#~ msgid "<b>Recommended Services</b>" +#~ msgstr "<b>Anbefalte tjenester</b>" + +#~ msgid "" +#~ "<b>Requested service requirements...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>Tjenestekrav forespurt...</b>\n" +#~ "Dette vil ta litt tid. Vennligst vent." + +#~ msgid "<b>Spell Checking</b>" +#~ msgstr "<b>Stavekontroll</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Informasjon ikke tilgjengelig</i>" + +#~ msgid "Add Another Account" +#~ msgstr "Legg til ny konto" + +#~ msgid "Choose a Server" +#~ msgstr "Velg en tjener" + +#~ msgid "Choose from list:" +#~ msgstr "Velg fra listen:" + +#~ msgid "Configure Transport" +#~ msgstr "Sett opp transport" + +#~ msgid "Configure Transports" +#~ msgstr "Sett opp transporter" + +#~ msgid "Configuring Service" +#~ msgstr "Setter opp tjeneste" + +#~ msgid "If you prefer, you can specify your own service:" +#~ msgstr "Dersom du foretrekker det, kan du spesifisere din egen tjeneste:" + +#~ msgid "Information about ..." +#~ msgstr "Informasjon om..." + +#~ msgid "Jabber Account" +#~ msgstr "Jabber-konto" + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "Nick name:" +#~ msgstr "Kallenavn:" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "På hvilken tjener har du din Jabber-konto?" + +#~ msgid "Please complete the details below to set up your account: " +#~ msgstr "Fyll inn informasjonen under for å sette opp en konto: " + +#~ msgid "Populating services..." +#~ msgstr "Får informasjon om tjenester..." + +#~ msgid "Remove Account" +#~ msgstr "Slett konto" + +#~ msgid "Service Details" +#~ msgstr "Tjenesteinformasjon" + +#~ msgid "Service:" +#~ msgstr "Tjeneste:" + +#~ msgid "" +#~ "This wizard will allow you to configure your account settings for another " +#~ "protocol. " +#~ msgstr "" +#~ "Denne veiviseren vil la deg sette opp kontoinnstillinger for en annen " +#~ "protokoll." + +#~ msgid "Transport Accounts" +#~ msgstr "Transportkontoer" + +#~ msgid "Use a different server" +#~ msgstr "Bruk en annen tjener" + +#~ msgid "Which protocol would you like to set up? " +#~ msgstr "Hvilken protokoll ønsker du å sette opp?" + +#~ msgid "" +#~ "You can set the status presets which appear in the presence menu on the " +#~ "main window here." +#~ msgstr "" +#~ "Du kan sette forhåndsdefinerte statusmeldinger som vises i statusmenyen i " +#~ "hovedvinduet." + +#~ msgid "You currently have the following accounts set up:" +#~ msgstr "Du har nå følgende kontoer satt opp:" + +#~ msgid "_Jabber ID of new contact:" +#~ msgstr "_Jabber-ID for den nye kontakten:" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Hvilken forespørsel vil du sende til %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Sjekk at din kontoinformasjon er korrekt." + +#~ msgid "%s wants to be notified of your status." +#~ msgstr "%s ønsker å få melding om din status." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Du har blitt koblet fra tjeneren. Vil du koble til på nytt?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Sjekk at din kontoinformasjon er korrekt. Det er også mulig at tjeneren " +#~ "ikke er tilgjengelig for øyeblikket." + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "En feil oppsto under prat i gruppeprat %s." + +#~ msgid "Details:" +#~ msgstr "Detaljer:" + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Kan ikke gå inn i gruppeprat %s." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "En feil oppsto mens du pratet med %s." + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Tilgjengelige praterom</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Informasjon om praterom</b>" + +#~ msgid "N_ickname:" +#~ msgstr "_Kallenavn:" + +#~ msgid "R_emove" +#~ msgstr "Fje_rn" + +#~ msgid "_Add" +#~ msgstr "_Legg til" + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Forhåndssatte statusmeldinger</b>" + +#~ msgid "Add to your contact list" +#~ msgstr "Legg til i kontaktlisten" + +#~ msgid "Discover Services" +#~ msgstr "Finn tjenester" + +#~ msgid "Sound" +#~ msgstr "Lyd" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Hvilken forespørselsmelding vil du sende til ...?" diff --git a/trunk/po/ne.po b/trunk/po/ne.po new file mode 100644 index 000000000..474a4cee7 --- /dev/null +++ b/trunk/po/ne.po @@ -0,0 +1,1951 @@ +# translation of gossip.HEAD.ne.po to Nepali +# translation of gossip.HEAD.po to Nepali +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Pawan Chitrakar <pawan@mpp.org.np>, 2005. +# Jaydeep Bhusal <zaydeep@hotmail.com>, 2005. +# Mahesh subedi <submanesh@hotmail.com>, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip.HEAD.ne\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-06-13 12:37+0545\n" +"Last-Translator: Mahesh subedi <submanesh@hotmail.com>\n" +"Language-Team: Nepali <info@mpp.org.np>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10.2\n" +"Plural-Forms: nplurals=2;plural=(n!=1)\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "तयारि मेसेन्जर" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "तयारि मेसेन्जर" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "सधै नयाँ कुराकानीका लागि एउटा छुट्टै कुराकानी सञ्झ्याल खोल्नुहोस्" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "कुराकानी सञ्झ्याल विषयवस्तु" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"अल्पविरामले हिज्जे परीक्षण गर्ने भाषाको सूची प्रयोग गर्नलाई सूची छुट्टाउदछ (e.g. en, fr, " +"nl)." + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "सम्पर्क सूची देखाउनुहोस्" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "टाढा हुँदा ध्वनिहरू अक्षम पार्नुहोस्" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "व्यस्त हुँदा ध्वनिहरू अक्षम पार्दछ" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "हिज्जे परीक्षण सक्षम पार्नुहोस्" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "मुख्य सञ्झ्याल लुकाउनुहोस्" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "मुख्य सञ्झ्याल लुकाउनुहोस्" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "छुट्टै सञ्झ्यालमा नयाँ कुराकानी खोल्नुहोस्" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "सम्पर्कहरू देखाउनुहोस्" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "मुख्य सञ्झ्यालको उचाइ" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "अफलाइन सम्पर्कहरू देखाउनुहोस्" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "भाषाको हिज्जे परीक्षण गर्दै" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "कुराकानि सञ्झ्यालहरूमा तपाईँलाई पहिचान गर्न यो विषयवस्तु प्रयोग गरिनेछ" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "ग्राफिकल स्माइलिहरू प्रयोग गर्नुहोस्" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "सूचीत गर्ने ध्वनिहरू प्रयोग गर्नुहोस्" + +#: ../data/empathy.schemas.in.h:22 +#, fuzzy +msgid "Use theme for chat rooms" +msgstr "कुराकानी कोठा जोड्नुहोस्" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "संवादहरू मा स्माइलिहरूलाई ग्राफिकल छविहरूमा रूपान्तरण गर्ने कि नगर्ने" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "सन्देश आउँदा ध्वनि प्ले गर्ने कि नगर्ने" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "टाढा हुँदा ध्वनिहरू प्ले गर्ने कि नगर्ने" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "व्यस्त हुँदा ध्वनिहरू प्ले गर्ने कि नगर्ने" + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "सन्देश आउँदा ध्वनि प्ले गर्ने कि नगर्ने" + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "सम्पर्क सूचीमा अफलाइन भएका सम्पर्कहरूलाई देखाउने कि नदेखाउने" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "सम्पर्क सूचीमा अफलाइन भएका सम्पर्कहरूलाई देखाउने कि नदेखाउने" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "सम्पर्क सूचीमा अफलाइन भएका सम्पर्कहरूलाई देखाउने कि नदेखाउने" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "अफलाइन" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "उपलब्ध" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "व्यस्त" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "टाढा" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "सम्पर्कहरू देखाउनुहोस्" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "समूह" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "सम्पर्क" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "सम्पर्क सूची लुकाउनुहोस्" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "सामग्रीहरू" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "मनपर्नेहरू थप्नुहोस्" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "अफलाइन सम्पर्कहरू देखाउनुहोस्" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "खाताहरू" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "खाताहरू" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "सम्पर्क थप्नुहोस्" + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "कुराकानि" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "सामग्रीहरू" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "सम्पादन गर्नुहोस्" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "नयाँ सन्देश..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "व्यक्तिगत जानकारी" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "प्राथमिकताहरु" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "कोठा" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "पछिल्लो वार्तालाप हेर्नुहोस्" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "वस्तुस्थिति" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "सम्पर्क सूची देखाउनुहोस्" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"गोसिब निशुल्क सफ्टवेयर हो; निशुल्क सफ्टवेयर संस्थाद्धारा GNU साधारण सार्वजनिक अनुमतिपत्रको " +"रूपमा प्रकाशित शर्तहरू अन्तर्गत रहेर यसलाई परिमार्जन वा/र पुन: वितरण गर्न सक्नुहुन्छ; या " +"संस्करण २ को अनुमतिपत्र, वा (तपाईँको विकल्पमा) कुनै पछिल्लो संस्करण।" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"विशेष उद्देश्यका लागि ठीक हुने, वा व्यवहारिक व्यापारिक अधिकार बिना नै, अझ कुनै अधिकार " +"बिना नै, गोसिवलाई यो उपयोगी हने आशामा वितरण गरिएको हो। विस्तृत जानकारीका लागि " +"GNU साधारण सार्वजनिक अनुमतिपत्र हेर्नुहोस्।" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"तपाईँले गोसिवसँग GNU साधारण सार्वजनिक अनुमतिपत्रको एउटा प्रतिलिपि प्राप्त गर्नुभएको हुन " +"पर्दछ; यदि छैन भने, निशुल्क सफ्टवेयर संस्थालाई, Inc., 59 Temple Place, Suite 330, " +"Boston, MA 02111-1307 USA मा लेख्नुहोस्।" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "जिनोमका लागि एउटा तत्काल सन्देश गर्ने ग्राहक" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "Jaydeep Bhusal <zaydeep@hotmail.com>Mahesh Subedi<submanesh@gmail.com>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "उपलब्ध" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>खाता</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>खाता</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "खाताहरू" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"तपाईँले तपाईँको %s खाता हटाउन लाग्नु भएको हो !\n" +"तपाईँ काम गर्न यकिन हुनुहुन्छ ?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"यदि तपाईँले काम गर्ने निश्चय गर्नु भएमा कुनै सम्बन्धित वार्तालाप र कुराकानी कोठा हट्ने छैन।\n" +"\n" +"तपाईँले पछिल्लो समयमा खाता पछि थप्ने निश्चय गर्नुभयो, तिनिहरू अहिले पनि उपलब्ध हुँनेछन्।" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>खाता</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>खाता</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>वस्तुस्थिती</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "कुराकानी!" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "ज्याबर" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "नाम:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "विषय:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">उदाहरण: user@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "लगइन ID:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "पासवर्ड:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "संसाधन:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "गुप्तिकरण प्रयोग गर्नुहोस् (एसएसएल)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "पोर्ट:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "सर्भर:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "जडान विच्छेद गरियो" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "स्माइलि घुसाउनुहोस्" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "अक्षर हिज्जे परीक्षण जाँच गर्नुहोस्..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "जडान गरियो" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +#, fuzzy +msgid "C_lear" +msgstr "सूची खाली गर्नुहोस्" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "कुराकानी" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "सम्पर्क जानकारी" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "कुराकानी" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "निमन्त्रणा" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "स्माइली घुसाउनुहोस्" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "अवस्था सन्देश प्रविष्ट गर्नुहोस्" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +#, fuzzy +msgid "Invite" +msgstr "निमन्त्रणा" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "ट्याब बायाँ तिर सार्नुहोस्" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "ट्याब दायाँतिर सार्नुहोस्" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "तपाईँलाई कुराकानी सम्मेलनमा जोड्न निमन्त्रण गरिएको छ।" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "मनपर्नेहरू थप्नुहोस्" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "वार्तालाप" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "ट्याबलाई छुट्याउनुहोस्" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "आर्को ट्याब" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +#, fuzzy +msgid "_Paste" +msgstr "मिति" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "अघिल्लो ट्याब" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "सम्पर्कहरू देखाउनुहोस्" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "ट्याबहरु" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "लिङ्क ठेगानाको प्रतिलिपि बनाउनुहोस्" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "लिङ्क खोल्नुहोस्" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "नयाँ सन्देश" +msgstr[1] "नयाँ सन्देश" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "कुराकानी कोठा" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "वार्तालाप" +msgstr[1] "वार्तालाप" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "सन्देश टाइप गर्दै" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "सम्पर्क" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "समूह" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "एउटा सम्पर्क थप्नुहोस्" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "सम्पर्क जानकारी" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "सम्पर्क जानकारी" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "समूह पुन: नामकरण गर्नुहोस्" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "फाइल नाम:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "कृपया यो खाताका लागि एउटा नाम प्रविष्ट गर्नुहोस्।" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "_Remove" +msgstr "/सम्पर्क हटाउनुहोस्" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/सम्पर्क हटाउनुहोस्" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "/कुराकानी कोठामा निमन्त्रणा गर्नुहोस्" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "_Send File..." +msgstr "/फाइल पठाउनुहोस्..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "एउटा फाइल चयन गर्नुहोस्" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "अघिल्लो वार्तालाप हेर्नुहोस्" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "भाषा" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "<b>देखावट र व्यवहार</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>बारेमा</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>देखावट र व्यवहार</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>जडान</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>भाषाहरू</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>विकल्पहरू</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>विकल्पहरू</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +#, fuzzy +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"भाषाहरूको सूचीले यहाँ केबल तपाईँले जसका लागि शब्दकोश स्थापना गर्नुभएको थियो मात्र " +"प्रतिबिम्वित गर्दछ।" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "कुराकानि विषयवस्तु:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "टाढा हुँदा ध्वनिहरू अक्षम पार्नुहोस्" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "व्यस्त हुँदा ध्वनिहरू अक्षम पार्दछ" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "सामान्य" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "सूचीत गर्ने ध्वनिहरू प्रयोग गर्नुहोस्" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "प्राथमिकताहरु" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "स्माइलिहरूलाई ग्राफिकल छविहरूमा परिवर्तन गर्नुहोस्" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "सम्पर्क सूची देखाउनुहोस्" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "हिज्जे जाँच" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +#, fuzzy +msgid "_Enable spell checking" +msgstr "हिज्जे परीक्षण सक्षम पार्नुहोस्" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "नयाँ कुराकानी छुट्टै सञ्झ्यालहरूमा खोल्नुहोस्" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "सन्देशहरू आउँदा ध्वनि प्ले गर्नुहोस्" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "यो कुराकानी कोठा बचत गर्नुहोस्" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "नयाँ सन्देश..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "सूची खाली गर्नुहोस्" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "के तपाईँ सो फाइल स्विकार गर्न चाहनुहुन्छ ?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "सूची खाली गर्नुहोस्" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "अवस्था सन्देश प्रविष्ट गर्नुहोस्" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "स्थिति सन्देश प्रस्तुत गर्दछ" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "स्थितिमा सन्देश सूची थप्नुहोस्" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s अफलाइन भयो" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s अनलाइन भयो" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "पुरानो" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +#, fuzzy +msgid "Simple" +msgstr "उदाहरण" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "ग्राहक:" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "नीलो" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "सुरुवातमा जडान नगर्नुहोस्" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- गोसिव तयारि मेसेन्जर" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "गोसिप तयारि मेसेन्जर" + +#~ msgid "Normal" +#~ msgstr "सामान्य" + +#~ msgid "Joining" +#~ msgstr "जोङ्दै" + +#~ msgid "Active" +#~ msgstr "सक्रिय" + +#~ msgid "Inactive" +#~ msgstr "निष्क्रिय" + +#~ msgid "Unknown" +#~ msgstr "अज्ञात" + +#~ msgid "Error" +#~ msgstr "त्रुटि" + +#, fuzzy +#~ msgid "No role" +#~ msgstr "सामान्य" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "तपाईँले छनौट गर्नुभएको उपनाम पहिला नै प्रयोगमा छ।" + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "तपाईँले जोड्न प्रयास गर्न भएको कुराकानी सञ्झ्याललाई पासवर्ड आवश्यक पर्दछ।" + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "दूर कन्फेरेन्स सर्भरले मनाशिव समयमा प्रतिक्रिया जनाएन।" + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "तपाईँले जोड्न चाहनुभएको कन्फेरेन्स सर्भर फेला पार्न सकिएन।" + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "अज्ञात त्रुटि भयो, तपाईँको विस्तृत ठीक भनि जाँच गर्नुहोस्।" + +#, fuzzy +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "कुराकानी कोठा जोड्नुहोस्" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "उपलब्ध" + +#~ msgid "An unknown error occurred." +#~ msgstr "एउटा अज्ञात त्रुटि भयो।" + +#~ msgid "Connection refused." +#~ msgstr "जडान अविस्कृत" + +#~ msgid "Server address could not be resolved." +#~ msgstr "सर्भर ठेगाना पुन: समाधान हुन सक्दैन।" + +#~ msgid "Connection timed out." +#~ msgstr "जडान समय समाप्त" + +#~ msgid "Authentication failed." +#~ msgstr "प्रमाणीकरण असफल" + +#~ msgid "The username you are trying already exists." +#~ msgstr "तपाईँले प्रयाश गर्नुभएको प्रयोगकर्ता नाम पहिल्यै अवस्थित छ।" + +#~ msgid "The username you are trying is not valid." +#~ msgstr "तपाईँले प्रयास गर्नुभएको प्रयोगकर्ता नाम वैध छैन।" + +#~ msgid "This feature is unavailable." +#~ msgstr "यो विशेषता उपलब्ध छैन।" + +#~ msgid "This feature is unauthorized." +#~ msgstr "यो विशेषता प्रमाणीकरण छैन।" + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "एउटा अप्रत्यासित प्रोटोकल त्रुटि देखा पर्यो।" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "नयाँ खाता" + +#~ msgid "Home" +#~ msgstr "गृह" + +#~ msgid "Couldn't send message!" +#~ msgstr "सन्देश पठाउन सकिएन !" + +#~ msgid "Connection could not be opened" +#~ msgstr "जडान खोल्न सकिँदैन" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "यो विशेषता उपलब्ध छैन।" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "दर्ता" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "यो विशेषता प्रमाणीकरण छैन।" + +#~ msgid "Disconnect" +#~ msgstr "जडान विच्छेद गर्नुहोस्" + +#~ msgid "Connect" +#~ msgstr "जडान" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "तपाईँको नयाँ खाता दर्ता गर्न असफल" + +#, fuzzy +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "तपाईँले --no-connect संग--accountसँगै प्रयोग गर्न सक्नुहुन्न" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "तपाईँको नयाँ खाता दर्ता गर्न असफल" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "तपाईँको खाता पासवर्ड प्रविष्ट गर्नुहोस्:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "तपाईँको खाता पासवर्ड प्रविष्ट गर्नुहोस्:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "कृपया समूहका लागि नयाँ नाम प्रविष्ट गर्नुहोस्:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "सम्पर्कका लागि कुनै पनि सूचना उपलब्ध छैन।" + +#~ msgid "Information requested, please wait..." +#~ msgstr "जानकारी अनुरोध गरिएको छ, कृपया प्रतीक्षा गर्नुहोस्..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "म तपाईँलाई मेरो सम्पर्क सूचीमा थप्न चाहन्छु" + +#~ msgid "To summarize:" +#~ msgstr "संक्षेपिकरण गर्न:" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "नयाँ सन्देश" +#~ msgstr[1] "नयाँ सन्देश" + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "सदस्यता अनुरोध" +#~ msgstr[1] "सदस्यता अनुरोध" + +#, fuzzy +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "फाइल स्थान्तरण अनुरोध" +#~ msgstr[1] "फाइल स्थान्तरण अनुरोध" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "सन्देश पठाउन सकिएन !" +#~ msgstr[1] "सन्देश पठाउन सकिएन !" + +#, fuzzy +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "त्रुटि" +#~ msgstr[1] "त्रुटि" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "यदि तपाईँ निस्कनु भएमा, तपाईँले नपढेको सूचना हराउनु हुँनेछ।" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "तपाईँको कुराकानी कोठाको विवरण सम्पादन गर्नुहोस्:" + +#~ msgid "Word" +#~ msgstr "शब्द" + +#~ msgid "New message from %s" +#~ msgstr "%s बाट नयाँ सन्देश" + +#~ msgid "Your invitation has been declined" +#~ msgstr "तपाईँको निमन्त्रण अविस्कार गरिएको छ" + +#~ msgid "Accept" +#~ msgstr "स्विकार गर्नुहोस्" + +#~ msgid "Decline" +#~ msgstr "अस्विकार गर्नुहोस्" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "नाम:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "कोठा" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "जडान रोक्नुहोस्" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "जानकारी अनुरोध गरिएको छ, कृपया प्रतीक्षा गर्नुहोस्..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "के तपाईँ तपाईँको सम्पर्क रोस्टरबाट सम्पर्क हटाउन चाहनुहुन्छ ?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "कृपया समूहका लागि नयाँ नाम प्रविष्ट गर्नुहोस्:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "चयन गर्नुहोस्" + +#~ msgid "Unsorted" +#~ msgstr "क्रमबद्ध नगरिएको" + +#~ msgid "New file transfer request from %s" +#~ msgstr "%s बाट नयाँ फाइल स्थान्तरण अनुरोध" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "दुबै पक्षहरूबाट फाइल स्थान्तरण समर्थन गरिएन।" + +#~ msgid "Your file transfer offer declined." +#~ msgstr "तपाईँको फाइल स्थान्तरण अनुरोध अस्विकार भयो।" + +#~ msgid "The other user decided not to continue." +#~ msgstr "अर्को प्रयोगकर्ताले निरन्तरता नदिने निर्णय गर्यो।" + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "फाइल स्थान्तरण गर्दा अज्ञात त्रुटि भयो।" + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s के तपाईँले तपाईँलाई एउटा फाइल पठाउन चाहनुहुन्छ।" + +#~ msgid "Someone would like to send you a file." +#~ msgstr "कसैले तपाईँलाई एउटा फाइल पठाउन चाहन्छ।" + +#~ msgid "Select a file" +#~ msgstr "एउटा फाइल चयन गर्नुहोस्" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "जडान गर्दै" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "जडान रोक्नुहोस्" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "यो कुराकानी सम्मेलनमा भाग लिन %s निमन्त्रणा गरियो।" + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s ले शीर्षक सेट गर्यो" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "यो सम्पर्कका लागि तपाईँ के उपनाम प्रयोग गर्न चाहनुहुन्छ ?" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "%s ले शीर्षक सेट गर्यो" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "%s ले शीर्षक सेट गर्यो" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "विषय:" + +#~ msgid "Account" +#~ msgstr "खाता" + +#~ msgid "Conversation With" +#~ msgstr "सँग सम्मेलन" + +#~ msgid "Date" +#~ msgstr "मिति" + +#~ msgid "List the available accounts" +#~ msgstr "उपलब्ध खाताहरू सूचीबद्ध गर्नुहोस्" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "सुरुवात हुँदा कुन खातामा जडान गर्ने" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "खाता-नाम" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "तपाईँले --no-connect संग--accountसँगै प्रयोग गर्न सक्नुहुन्न" + +#~ msgid "No accounts available." +#~ msgstr "खाताहरू उपलब्ध छैन।" + +#~ msgid "Available accounts:" +#~ msgstr "उपलब्ध खाताहरू:" + +#~ msgid "[default]" +#~ msgstr "[पूर्वनिर्धारित]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "'%s'.नामको कुनै खाता छैन" + +#~ msgid "Join" +#~ msgstr "जोड्नुहोस्" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "मिति" + +#~ msgid "Chat Rooms" +#~ msgstr "कुराकानी कोठा" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "जानकारी अनुरोध गरिएको छ, कृपया प्रतीक्षा गर्नुहोस्..." + +#~ msgid "Default" +#~ msgstr "[पूर्वनिर्धारित]" + +#~ msgid "Chat!" +#~ msgstr "कुराकानी!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "तपाईँको सम्पर्क सूचीमा %s ले थपिन चाहन्छ।" + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "कसैले तपाईँको सम्पर्क सूचीमा थपिन चाहन्छ।" + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "सदस्यता अनुरोध" + +#~ msgid "Contact Information" +#~ msgstr "सम्पर्क जानकारी" + +#~ msgid "Subject: %s" +#~ msgstr "विषय: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "शब्दका लागि सुझावहरू" + +#~ msgid "New subscription request from %s" +#~ msgstr "%s बाट नयाँ सदस्यता अनुरोध" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "के तपाईँले सो मान्छेलाई तपाईँको सम्पर्क सूचीमा थप गर्न चाहनुहुन्छ ?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "के तपाईँले तपाईँको सम्पर्क सूचीमा %sथप्न चाहनुहुन्छ?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "कृपया तपाईँको %s खाता पासवर्ड प्रविष्ट गर्नुहोस्" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "सँग लगइन गर्दै: %s" + +#~ msgid "Remember Password?" +#~ msgstr "पासवर्ड सम्झनुहोस् ?" + +#~ msgid "Could not display the help contents." +#~ msgstr "मद्दत सामग्री प्रदर्शन गर्न सकेन।" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "सर्भरले प्रतिक्रिया जनाउने जस्तो देखिदैन।" + +#~ msgid "Try again later." +#~ msgstr "पछि पुन: प्रयास गर्नुहोस्।" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "कुराकानी" + +#~ msgid "Contact goes offline" +#~ msgstr "सम्पर्क अफलाइन हुँदैछ" + +#~ msgid "Contact goes online" +#~ msgstr "सम्पर्क अनलाइन भयो" + +#~ msgid "Contact ID:" +#~ msgstr "सम्पर्क ID:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "के तपाईँ सो फाइल स्विकार गर्न चाहनुहुन्छ ?" + +#~ msgid "File Transfer Request" +#~ msgstr "फाइल स्थान्तरण अनुरोध" + +#~ msgid "File name:" +#~ msgstr "फाइल नाम:" + +#~ msgid "File size:" +#~ msgstr "फाइल साइज:" + +#, fuzzy +#~ msgid "Not supported yet" +#~ msgstr "अझसम्म समर्थन गरिएको छैन।" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "यो मान्छेले तपाईँलाई सो फाइल पठाउन चाहन्छ:" + +#~ msgid "Web site:" +#~ msgstr "वेब साइट:" + +#~ msgid "_Accept" +#~ msgstr "स्विकार गर्नुहोस्" + +#~ msgid "_Deny" +#~ msgstr "अस्वीकार गर्नुहोस्" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>विकल्पहरू</b>" + +#~ msgid "Account:" +#~ msgstr "खाता:" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "कुराकानी कोठा सम्पादन गर्नुहोस्" + +#~ msgid "Group Chat" +#~ msgstr "समूह कुराकानी" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "जोड्नुहोस्" + +#~ msgid "Join room on start_up" +#~ msgstr "सुरुवातमा कोठा जोड्नुहोस्" + +#, fuzzy +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "गोसिव सुरु भएर तपाईँ जडानमा रहनुभएको बेलामा कुराकानी कोठा जोड्नुहोस्।" + +#~ msgid "N_ame:" +#~ msgstr "नाम:" + +#~ msgid "S_erver:" +#~ msgstr "सर्भर:" + +#~ msgid "_Nickname:" +#~ msgstr "उपनाम:" + +#~ msgid "_Room:" +#~ msgstr "कोठा:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>बारेमा</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>ग्राहक जानकारी</b>" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>बारेमा</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>भाषाहरू</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>व्यक्तिगत विवरण</b>" + +#~ msgid "<b>Status</b>" +#~ msgstr "<b>वस्तुस्थिती</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>विकल्पहरू</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">उदाहरण: Mikael or user@server.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "खाता:" + +#~ msgid "Add Contact" +#~ msgstr "सम्पर्क थप्नुहोस्" + +#, fuzzy +#~ msgid "Alia_s:" +#~ msgstr "उपनाम:" + +#~ msgid "Ch_at" +#~ msgstr "कुराकानी" + +#~ msgid "Client:" +#~ msgstr "ग्राहक:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "सम्पर्क" + +#~ msgid "Connect on S_tartup" +#~ msgstr "सुरुवातमा जडान गर्नुहोस्" + +#~ msgid "Contacts" +#~ msgstr "सम्पर्क" + +#~ msgid "Country:" +#~ msgstr "देश:" + +#~ msgid "Decide _Later" +#~ msgstr "पछि निर्णय गर्नुहोस्" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "सम्पर्क थप्नुहोस्" + +#~ msgid "Edit Groups" +#~ msgstr "समूहहरू सम्पादन गर्नुहोस्" + +#~ msgid "Email:" +#~ msgstr "इमेल:" + +#~ msgid "ID:" +#~ msgstr "आइ डि:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "यदि तपाईँले पछि छनौट निर्णय गर्नु भएमा तपाईँले पछिल्लो समय लगइन गर्दा तपाईँलाई " +#~ "सोधिने छ।" + +#~ msgid "Name:" +#~ msgstr "नाम:" + +#~ msgid "OS:" +#~ msgstr "ओ एस:" + +#~ msgid "Personal Details" +#~ msgstr "व्यक्तिगत विवरण" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "दर्ता" + +#~ msgid "Search" +#~ msgstr "खोजी गर्नुहोस्" + +#~ msgid "Spell Checker" +#~ msgstr "हिज्जे परिक्षक" + +#~ msgid "Subscription Request" +#~ msgstr "सदस्यता अनुरोध" + +#~ msgid "Suggestions for the word:" +#~ msgstr "शब्दका लागि सुझावहरू:" + +#, fuzzy +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "सम्पर्क सूची तलमा एउटा फिल्टरको रूपमा यसले कार्य गर्दछ। तपाईँले सम्पर्कको नाम वा " +#~ "आइडिको खण्ड प्रयोग गर्न सक्नुहुन्छ, उदाहरणका लागि, \"jabber.org\" ले त्यो सर्भर " +#~ "प्रयोग गर्ने जो कसैको पनि सूचीकृत गर्दछ।" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "यो सम्पर्कका लागि तपाईँको रोस्टरमा यो नाम प्रयोग हुँनेछ।" + +#, fuzzy +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "कुराकानि सञ्झ्यालहरूमा तपाईँलाई परिचित गर्न यो नाम प्रयोग गरिनेछ" + +#, fuzzy +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "तपाईँको विवरण नयाँ सम्पर्कले हेरेको बेलामा तपाईँलाई परिचित गर्न यो नाम प्रयोग गरिनेछ" + +#~ msgid "Use system pro_xy" +#~ msgstr "प्रोक्सि प्रणाली प्रयोग गर्नुहोस्" + +#~ msgid "Version:" +#~ msgstr "संस्करण:" + +#~ msgid "View Previous Conversations" +#~ msgstr "अघिल्लो वार्तालाप हेर्नुहोस्" + +#~ msgid "Which account do you want to use?" +#~ msgstr "तपाईँ कुन खाता प्रयोग गर्न चाहनुहुन्छ ?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "तपाईँलाई सो खातामा सदस्यता दिइएको छैन।" + +#~ msgid "_Connect" +#~ msgstr "जडान" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "वर्णन:" + +#~ msgid "_Disconnect" +#~ msgstr "जडान विच्छेद गर्नुहोस्" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "इमेल:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "तपाईँले कुराकानी गर्न चाहनुभएको मानिसको सम्पर्क नाम वा ID तल प्रविष्ट गर्नुहोस्:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "पोर्ट:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "नाम:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "समूह:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "उपनाम:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "पासवर्ड:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "नयाँ सन्देश" + +#~ msgid "_Subscribe" +#~ msgstr "सदस्य बनाऊनुहोस्" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "वेब साइट:" + +#~ msgid "Be silent when away" +#~ msgstr "टाढा हुँदा शान्त हुनुहोस्" + +#~ msgid "Be silent when busy" +#~ msgstr "व्यस्त हुंदा शान्त हुनुहोस्" + +#~ msgid "Height of main window" +#~ msgstr "मुख्य सञ्झ्यालको उचाइ" + +#~ msgid "Preset status messages" +#~ msgstr "स्थिति सन्देश पुर्वनिश्चित गर्नुहोस्" + +#~ msgid "Preset status messages." +#~ msgstr "स्थिति सन्देश पुर्वनिश्चित गर्नुहोस्" + +#~ msgid "The X position of the main window." +#~ msgstr "मुख्य सञ्झ्यालको एक्स स्थिति" + +#~ msgid "The Y position of the main window." +#~ msgstr "मुख्य सञ्झ्यालको वाइ स्थिति" + +#~ msgid "The width of the main window." +#~ msgstr "मुख्य सञ्झ्यालको चौडाइ" + +#~ msgid "Whether spell checking should be turned on." +#~ msgstr "अक्षर हुँदैनखुल्ला राख्नु पर्दछ कि" + +#~ msgid "Width of the main window" +#~ msgstr "मुख्य सञ्झ्यालको चौडाइ" + +#~ msgid "X position of main window" +#~ msgstr "मुख्य सञ्झ्यालको एक्स स्थिति " + +#~ msgid "Y position of main window" +#~ msgstr "मुख्य सञ्झ्यालको वाइ स्थिति" + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "सम्भवत तपाईँले गलत पोर्टमा जडान प्रयास गर्दै हुनुहुन्छ ?" + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "सम्भवत सेवा हालमा चलिरहेको छैन ?" + +#~ msgid "Check your connection details." +#~ msgstr "तपाईँको जडान विवरण जाँच गर्नुहोस्।" + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "सम्भवत सर्भर यस सेवामा चलिरहेको छैन।" + +#~ msgid "Check your username and password are correct." +#~ msgstr "तपाईँको प्रयोगकर्ता नाम र पासवर्ड ठीक छ भनि जाँच गर्नुहोस्।" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s तपाईँको सम्पर्क सूचीमा थपिनेछ" + +#~ msgid "%s ID of new contact:" +#~ msgstr "नयाँ सम्पर्कको %s ID:" + +#~ msgid "Example: %s" +#~ msgstr "उदाहरण: %s" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "गसिप, तुरुन्त सन्देश गर्ने ग्राहक" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "तपाईँसँग तत्काल सन्देशगर्ने खाता कन्फिगर गरेको हुनुपर्दछ !" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "पछि तपाईँले तपाईँको विवरण सेट गर्न खाता सूचना संवादसँग प्रस्तुति गर्नु हुँनेछ।" + +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "" +#~ "यसका लागि कृपया तपाईँको निमन्त्रण सन्देश प्रविष्ट गर्नुहोस्:\n" +#~ "%s" + +#~ msgid "Contact Information for %s" +#~ msgstr "%s का लागि सम्पर्क सूचना" + +#~ msgid "Requested Information" +#~ msgstr "खाता सूचना" + +#~ msgid "/Contact Infor_mation" +#~ msgstr "/सम्पर्क जानकारी" + +#~ msgid "/Re_name Contact" +#~ msgstr "/सम्पर्क पुन: नामकरण गर्नुहोस्" + +#~ msgid "/_Edit Groups" +#~ msgstr "/समूहहरू सम्पादन गर्नुहोस्" + +#~ msgid "/_View Previous Conversations" +#~ msgstr "/पहिलो वार्तालाप हेर्नुहोस्" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "कृपया सम्पर्कका लागि नयाँ उपनाम प्रविष्ट गर्नुहोस्\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "%s का लागि समूहहरू सम्पादन गर्नुहोस्" + +#~ msgid "Conversation Log" +#~ msgstr "सम्मेलन लग" + +#~ msgid "Registering account" +#~ msgstr "खाता दर्ता गर्दै" + +#~ msgid "Respond" +#~ msgstr "प्रतिक्रिया" + +#~ msgid "Available..." +#~ msgstr "उपलब्ध..." + +#~ msgid "Busy..." +#~ msgstr "व्यस्त..." + +#~ msgid "Away..." +#~ msgstr "टाढा..." + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "तपाईँले जोड्न चाहनुभएको आफ्नो उपनाम, सर्भर र कुराकानी कोठा अनुकूलन गर्नुहोस्।" + +#~ msgid "Na_me:" +#~ msgstr "नाम:" + +#~ msgid "New Chat Room" +#~ msgstr "नयाँ कुराकानी कोठा" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "" +#~ "तलबाट हालमा उपलब्धबाट एउटा बचत गरिएको कुराकानी कोठा लिनुहोस् र कुराकानी सुरु गर्न " +#~ "जोड्नु क्लिक गर्नुहोस्।" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>जानकारी अनुरोध गरिएको छ, कृपया प्रतीक्षा गर्नुहोस्...</b>" + +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>आवाज</b>" + +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">उदाहरण:</span>" + +#~ msgid "Account Name" +#~ msgstr "खाता नाम" + +#~ msgid "Check spelling while I _type" +#~ msgstr " I टाइप गर्दा हिज्जे जाँच गर्नुहोस्" + +#~ msgid "Connection Details" +#~ msgstr "जडान विवरण" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "के तपाईँले पहिल्यै सर्भरमा एउटा खाता सेटअप गर्नुभएको छ ?" + +#~ msgid "Enter the port used in the connection for this account." +#~ msgstr "यो खाताका लागि जडानमा प्रयोग गरिएको पोर्ट प्रविष्ट गर्नुहोस्।" + +#~ msgid "Enter the server used in the connection for this account." +#~ msgstr "यो खाताका लागि जडानमा प्रयोग गरिएको सर्भर प्रविष्ट गर्नुहोस्।" + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "प्रयोगकर्ताको सम्पर्क ID प्रविष्ट गर्नुहोस्:" + +#~ msgid "Enter your real name here." +#~ msgstr "तपाईँको वास्तविक नाम यहाँ प्रविष्ट गर्नुहोस्।" + +#~ msgid "Finished" +#~ msgstr "समाप्त" + +#~ msgid "For increased security, enable this option." +#~ msgstr "सुरक्षा बढाउनका लागि, यो विकल्प सक्षम पार्नुहोस्।" + +#~ msgid "Gossip" +#~ msgstr "गसिप" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "ज्याबर तयारि सन्देश प्रणालीका लागि गसिप एउटा आधुनिक ग्राहक हो।\n" +#~ "\n" +#~ "यो सहायकले तपाईँलाई गसिप कन्फिगर गर्न र तपाईँलाई तपाईँको मन पर्ने ज्याबर सेवामा " +#~ "जडान गर्न मद्दत गर्दछ।\n" +#~ "\n" +#~ "सुरु हुन, \"अघिल्तिर\"क्लिक गर्नुहोस्।" + +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option." +#~ msgstr "" +#~ "यदि तपाईँसँग तपाईँको सञ्जालमा इन्टरनेटमा जडान 'प्रोक्सि' गर्ने अर्को मेशिन छ भने र " +#~ "तपाईँले यो प्रयोग गर्न चाहनुहुन्छ भने, यो विकल्प सक्षम पार्नुहोस्।" + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "यदि तपाईँले निर्दिष्ट जडान विवरण सेट गर्न आवश्यक परेमा, फरक सर्भरको जस्तो वा पोर्ट, " +#~ "तपाईँले त्यो यहाँ कन्फिगर गर्न सक्नुहुन्छ:" + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "प्रयोगकर्ताबाट उपस्थिति सूचीतताको सदस्य बन्नका लागि, एउटा अनुरोध पठाइनेछ। यो " +#~ "अनुरोध स्विकार नहुँदासम्म तपाईँको सम्पर्क सूचीमा प्रयोगकर्तालाई सधै \"अफलाइन\"को रूपमा " +#~ "देखाइने छ।" + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "तपाईँले यो सम्पर्कलाई कुन समूहमा राख्न चाहनुहुन्छ ?" + +#~ msgid "Jabber ID:" +#~ msgstr "ज्याबर आइडि:" + +#~ msgid "Join _Group Chat..." +#~ msgstr "समूह कुराकानि जोड्नुहोस्..." + +#~ msgid "Nickname:" +#~ msgstr "उपनाम:" + +#~ msgid "Port:" +#~ msgstr "पोर्ट:" + +#~ msgid "Press Subscribe to request to receive their status." +#~ msgstr "तिनिहरूको अवस्था प्राप्त गर्न सदस्यता थिच्नुहोस्।" + +#~ msgid "Registering Account" +#~ msgstr "खाता दर्ता गर्दैछ" + +#~ msgid "Requested information." +#~ msgstr "अनुरोधित जानकारी" + +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "व्यक्तिगत विवरण अनुरोध गर्दै, कृपया प्रतीक्षा गर्नुहोस्..." + +#~ msgid "Resource:" +#~ msgstr "संसाधन:" + +#~ msgid "Sending request" +#~ msgstr "अनुरोध पठाउँदै" + +#~ msgid "Server:" +#~ msgstr "सर्भर:" + +#~ msgid "Web Site:" +#~ msgstr "वेब साइट:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "गसिपमा स्वागत छ" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "सम्पर्कले के तयारि सन्देश प्रणाली प्रयोग गर्दछ ?" + +#~ msgid "What is your name?" +#~ msgstr "तपाईँको नाम के हो ?" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "तपाईँले सो खाता परिचित गर्न कुन नाम चाहनुहुन्छ ?\n" +#~ "\n" +#~ "यो नाम तपाईँको सर्भर प्रदायकसँग सम्बन्धित हुन सक्दछ, उदाहरणका लागि, <b>गुगल</b>" + +#~ msgid "What password do you want to use?" +#~ msgstr "तपाईँ कुन पासवर्ड प्रयोग गर्न चाहनुहुन्छ ?" + +#~ msgid "What username do you use?" +#~ msgstr "तपाईँ कुन प्रयोगकर्ता नाम प्रयोग गर्नुहुन्छ ?" + +#~ msgid "What username do you want to use?" +#~ msgstr "तपाईँ कुन प्रयोगकर्ता नाम प्रयोग गर्न चाहनुहुन्छ ?" + +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "तपाईँले यो सम्पर्कलाई कुन खाता थप्न चाहनुहुन्छ ?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "तपाईँले सम्पादन-> खाताको मेनु वस्तु चयन गरेर तपाईँको खाता सेटिङ परिवर्तन गर्न सक्नुहुन्छ।" + +#~ msgid "" +#~ "You can leave this blank if you don't want your password stored on a " +#~ "public machine. If you decide to do this, you will be prompted each time " +#~ "you connect for a password." +#~ msgstr "" +#~ "यदि तपाईँले सार्वजनिक मेशिनमा तपाईँको पासवर्ड सङ्ग्रह गर्न चाहानु हुन्न भने तपाईँले " +#~ "यसलाई खाली छोड्न सक्नुहुन्छ। यदि तपाईँले त्यस्तो गर्ने निर्णय गर्न भयो भने, तपाईँलाई हरेक " +#~ "पटक पासवर्डका लागि जडान गर्दा प्रोप्ट गरिनेछ।" + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "" +#~ "तपाईँले जडानका लागि एउटा नाम सेट गर्न आवश्यक छ, उदाहरणका लागि, <b>गृह</b> वा " +#~ "<b>ल्याबटप</b>" + +#~ msgid "Your Account" +#~ msgstr "तपाईँको खाता" + +#~ msgid "Your Identity" +#~ msgstr "तपाईँको पहिचान" + +#~ msgid "Your new account has now been set up." +#~ msgstr "तपाईँको नयाँ खाता अहिले सेटअप गरिएको छ।" + +#~ msgid "_Forget" +#~ msgstr "बिसर्नु" + +#~ msgid "_No" +#~ msgstr "होइन" + +#~ msgid "_Search..." +#~ msgstr "खोजी गर्नुहोस्" + +#~ msgid "_Yes" +#~ msgstr "हो" diff --git a/trunk/po/nl.po b/trunk/po/nl.po new file mode 100644 index 000000000..ddf189ce8 --- /dev/null +++ b/trunk/po/nl.po @@ -0,0 +1,1971 @@ +# Dutch translation of Gossip. +# +# Copyright (C) 2003-2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the gossip package. +# +# Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>, 2003. +# Taco Witte <tcwitte@cs.uu.nl>, 2003-2004. +# Wouter Bolsterlee <wbolster@gnome.org>, 2006, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip cvs\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2007-04-09 15:19+0200 \n" +"Last-Translator: Wouter Bolsterlee <wbolster@gnome.org>\n" +"Language-Team: Gnome-NL <gnome-nl-list@gnome.org>\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/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Instant Messenger" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Instant Messenger" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Altijd een nieuw scherm voor nieuwe gesprekken openen." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Thema voor chatvensters" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Komma-gescheiden lijst van talen voor de spellingchecker (bijv. en, fr, nl)." + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "Compacte contactlijst" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +# avatar? :s (Wouter Bolsterlee) +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Standaardmap voor het kiezen van gebruikersafbeeldingen" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Notificatiebericht tonen als een contact online komt" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Geluid afspelen indien afwezig" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Geluid afspelen indien bezig" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "Spellingchecker inschakelen" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Hoofdvenster verbergen" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Het hoofdvenster niet tonen." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Nieuwe chats openen in aparte vensters" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Gebruikersafbeeldingen tonen" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "Tip tonen bij het sluiten van het hoofdvenster." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Offline contacten tonen" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Talen voor de spellingchecker" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "De laatst gebruikte map voor gebruikersafbeeldingen." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Het thema dat gebruikt wordt voor het tonen van chats in chatvensters." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Smileys grafisch tonen" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Waarschuwingsgeluiden gebruiken" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "Thema voor chatruimte gebruiken" + +# Bah, wat een lelijke vertaling (Wouter Bolsterlee) +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" +"Ingetypte woorden al dan niet controleren op de talen waar u op wilt " +"controleren." + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Smileys in gesprekken grafisch tonen." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Een geluid afspelen als berichten binnenkomen." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Geluiden afspelen indien afwezig." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Geluiden afspelen indien bezig." + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Een notificatiebericht tonen als een contact online komt." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Gebruikersafbeeldingen wel of niet tonen in de contactlijst en chatvensters." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Contacten die offline zijn in de contactlijst wel of niet tonen." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"Al dan niet het informatievenster over het sluiten van het hoofdvenster " +"tonen als het venster met de ‘x’ in de titelbank gesloten wordt." + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "Al dan niet de contactlijst in compacte modus tonen" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "Thema voor chatruimtes gebruiken" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Offline" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Beschikbaar" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Bezig" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Afwezig" + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "Accounts tonen en bewerken" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Groep" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "Contact" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "Contactlijst - Gossip" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "Context" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "_Bladwijzers openen" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "_Nieuw groepsgesprek binnengaan…" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "Bladwijzers beheren…" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "_Offline contacten tonen" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "_Over" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Accounts" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Contact toevoegen..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Chatten" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "In_houd" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "Be_werken" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "_Help" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Nieuw bericht..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "_Persoonlijke gegevens" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Voorkeuren" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Afsluiten" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Ruimte" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "_Vorige gesprekken tonen" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Status" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "Contactlijst _tonen" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip is vrije Software; u kunt het verspreiden en/of aanpassen onder de " +"voorwaarden van de GNU General Public License zoals uitgegeven door de Free " +"Software Foundation; ofwel versie 2, ofwel (naar keuze) een latere versie." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip wordt verspreid in de hoop dat het bruikbaar is, maar ZONDER ENIGE " +"GARANTIE; zelfs niet de impliciete garantie van VERKOOPBAARHEID of " +"GESCHIKTHEID VOOR EEN BEPAALD DOEL. Zie de GNU General Public License voor " +"meer informatie." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"U zou een kopie van de GNU General Public License moeten hebben ontvangen " +"bij Gossip; is dit niet het geval, dan kun u schrijven naar de Free Software " +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130159 " +"USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, een chatclient voor GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"Vincent van Adrighem\n" +"Taco Witte\n" +"Wouter Bolsterlee\n" +"http://nl.gnome.org/" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Beschikbaar" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +#, fuzzy +msgid "Enable" +msgstr "Voorbeeld" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "<b>Geen account geselecteerd</b>" + +# Vrij vertaald (Wouter Bolsterlee) +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"U kunt de knop ‘Toevoegen’ gebruiken om een nieuw account toe te voegen en " +"in te stellen.\n" +"\n" +"Om bestaande accountgegevens te veranderen u een account uit de lijst aan de " +"linkerzijde kiezen." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Geen accounts ingesteld</b>" + +# Vrij vertaald (Wouter Bolsterlee) +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" +"U kunt de knop ‘Toevoegen’ gebruiken om een nieuw account toe te voegen en " +"in te stellen." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Accounts" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"Het account ‘%s’ zal verwijderd worden!\n" +"Weet u zeker dat u wilt doorgaan?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Gerelateerde gesprekken en chatruimtes zullen niet verwijderd worden als u " +"doorgaat.\n" +"\n" +"Als u het account later weer toevoegt, dan zullen deze weer beschikbaar zijn." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Account</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +msgid "<b>New Account</b>" +msgstr "<b>Nieuw account</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +msgid "<b>Settings</b>" +msgstr "<b>Instellingen</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" +"Een unieke naam voor dit account om het voor u persoonlijk herkenbaar te " +"maken." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +msgid "Cr_eate" +msgstr "_Aanmaken" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "Imendio " + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"U kunt de knop ‘Toevoegen’ gebruiken om een nieuw account toe te voegen en " +"in te stellen.\n" +"\n" +"Om bestaande accountgegevens te veranderen u een account uit de lijst aan de " +"linkerzijde kiezen." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Naam:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "_Type:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "%s:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "Wachtwoord vergeten en het invoervak leegmaken" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "Login I_D" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "_Wachtwoord:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "_Bron:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "Encryptie gebruiken (SS_L)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Poort:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Server:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "jabber-accountgegevens" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Verbinding verbroken" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Smiley invoegen" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "Spelling van woord _controleren..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Verbonden" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Wissen" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "_Onderwerp instellen…" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Chatten" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "Contactinfor_matie" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "K_nippen" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "_Uitnodigen…" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "_Smiley invoegen" + +# Vrij vertaald (Wouter Bolsterlee) +#: ../libempathy-gtk/gossip-chat.glade.h:8 +msgid "Invitation _message:" +msgstr "_Uitnodiging:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "Uitnodigen" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Tabblad naar _links verplaatsen" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Tabblad naar _rechts verplaatsen" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "Kies wie u wilt uitnodigen:" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "U bent uitgenodigd voor een groepsgesprek." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "_Aan bladwijzers toevoegen" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "Sl_uiten" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Gesprek" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "_Kopiëren" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "Tabblad _losmaken" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "Vo_lgend tabblad" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "_Plakken" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "Vo_rig tabblad" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "C_ontactlijst tonen" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Tabbladen" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "Koppelingsadres _kopiëren" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "Koppeling _openen" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Nieuw bericht" +msgstr[1] "Nieuwe berichten" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "Chatruimte" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "Gesprek" +msgstr[1] "Gesprekken (%d)" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Bezig met typen van een bericht." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "_Contact" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "_Groep" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "Met dit contact chatten" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "Infor_matie" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "Contactinformatie tonen" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "Her_noemen" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "Hernoemen" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "Groepen en naam voor dit contact bewerken" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Verwijderen" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "Contact verwijderen" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "In chatruimte _uitnodigen" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "In een geopende chatruimte uitnodigen" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "Be_stand versturen…" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "Een bestand versturen" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "Vorige gesprekken met dit contact tonen" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Taal" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Uiterlijk</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Geluid</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Gedrag</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Verbinding</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Talen</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Opties</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Visueel</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>Bovenstaande lijst met talen toont alleen de talen waarvoor u een " +"woordenboek heeft geïnstalleerd.</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" +"Gebruikersafbeeldingen zijn door de gebruiker gekozen afbeeldingen die in de " +"contactlijst en in chatvensters getoond worden" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "_Chatthema:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "_Notificatiebericht tonen als contacten online komen" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Geluid afspelen indien _afwezig" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Geluid afspelen indien _bezig" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Algemeen" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Notificatieberichten" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Voorkeuren" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "_Gebruikersafbeeldingen tonen" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "_Smileys tonen" + +# Vrij vertaald (Wouter Bolsterlee) +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "Contactlijst co_mpact maken" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Spellingchecker" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "Thema's" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "_Spellingchecker inschakelen" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Nieuwe chats in eigen vensters openen" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Geluid afspelen bij nieuwe berichten" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "Voor chatruimtes _gebruiken" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Aangepast bericht…" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Lijst wissen…" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "Weet u zeker dat u de lijst wilt wissen?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"Hiermee verwijdert u alle aangepaste statusberichten die u eerder aan de " +"lijst heeft toegevoegd." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Wissen" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Geef een statusbericht:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Opgeslagen statusberichten" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "_Aan statusberichten toevoegen" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s ging offline" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s is nu online" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Klassiek" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Simpel" + +# Dichterlijke vrijheid (Wouter Bolsterlee) +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Helder" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Blauw" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Niet verbinden bij opstarten" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Gossip Instant Messenger" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Gossip Instant Messenger" + +#~ msgid "Normal" +#~ msgstr "Normaal" + +#~ msgid "Joining" +#~ msgstr "Verbinden…" + +#~ msgid "Active" +#~ msgstr "Actief" + +#~ msgid "Inactive" +#~ msgstr "Niet actief" + +#~ msgid "Unknown" +#~ msgstr "Onbekend" + +#~ msgid "Error" +#~ msgstr "Fout" + +#~ msgid "Moderator" +#~ msgid_plural "Moderators" +#~ msgstr[0] "Moderator" +#~ msgstr[1] "Moderators" + +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "Deelnemer" +#~ msgstr[1] "Deelnemers" + +#~ msgid "Visitor" +#~ msgid_plural "Visitors" +#~ msgstr[0] "Bezoeker" +#~ msgstr[1] "Bezoekers" + +#~ msgid "No role" +#~ msgstr "Geen rol" + +#~ msgid "Owner" +#~ msgid_plural "Owners" +#~ msgstr[0] "Eigenaar" +#~ msgstr[1] "Eigenaars" + +#~ msgid "Administrator" +#~ msgid_plural "Administrators" +#~ msgstr[0] "Beheerder" +#~ msgstr[1] "Beheerders" + +#~ msgid "Member" +#~ msgid_plural "Members" +#~ msgstr[0] "Lid" +#~ msgstr[1] "Leden" + +# Vrij vertaald (Wouter Bolsterlee) +#~ msgid "Outcast" +#~ msgid_plural "Outcasts" +#~ msgstr[0] "Buitenstaander" +#~ msgstr[1] "Buitenstaanders" + +# Vrij vertaald (Wouter Bolsterlee) +#~ msgid "No affiliation" +#~ msgstr "Geen relatie" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "De bijnaam die u heeft gekozen is al in gebruik." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "" +#~ "De chatruimte die u probeert te betreden is met een wachtwoord beveiligd." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "The chatserver gaf geen antwoord binnen de verwachte tijd." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "De chatserver kon niet gevonden worden." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Er is een onbekende fout opgetreden. Controleer uw gegevens." + +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "Binnengaan van chatruimte is geannuleerd" + +#~ msgid "Unavailable" +#~ msgstr "Niet beschikbaar" + +#~ msgid "An unknown error occurred." +#~ msgstr "Een onbekende fout is opgetreden." + +#~ msgid "Connection refused." +#~ msgstr "Verbinding geweigerd." + +#~ msgid "Server address could not be resolved." +#~ msgstr "Het serveradres kon niet opgevraagd worden." + +#~ msgid "Connection timed out." +#~ msgstr "Er kan geen verbinding gemaakt worden." + +#~ msgid "Authentication failed." +#~ msgstr "Aanmelden mislukt." + +#~ msgid "The username you are trying already exists." +#~ msgstr "Deze gebruikersnaam is al in gebruik." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "Deze gebruikersnaam is niet geldig." + +#~ msgid "This feature is unavailable." +#~ msgstr "Deze functie is niet beschikbaar." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Deze functie is niet toegankelijk." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "Er is een onverwachtse protocolfout opgetreden." + +#~ msgid "new account" +#~ msgstr "nieuw account" + +#~ msgid "Home" +#~ msgstr "Thuis" + +#~ msgid "Couldn't send message!" +#~ msgstr "Bericht kon niet verzonden worden!" + +#~ msgid "Connection could not be opened" +#~ msgstr "Verbinding kon niet gemaakt worden" + +#~ msgid "Service has gone and is no longer available" +#~ msgstr "De dienst is niet langer beschikbaar" + +#~ msgid "Bad or malformed request to this service" +#~ msgstr "Onjuiste aanvraag voor deze dienst" + +#~ msgid "Unauthorized request to this service" +#~ msgstr "Aanvraag voor deze dienst niet toegestaan" + +#~ msgid "Payment is required for this service" +#~ msgstr "Deze dienst vereist betaling" + +#~ msgid "This service is forbidden" +#~ msgstr "Geen toegang tot deze dienst" + +#~ msgid "This service is unavailable or not found" +#~ msgstr "Deze functie is niet beschikbaar of kon niet gevonden worden." + +#~ msgid "Unacceptable request sent to this services" +#~ msgstr "Onacceptabele aanvraag naar deze dienst verstuurd" + +#~ msgid "Registration is required" +#~ msgstr "Registratie is vereist" + +# Huh, wat betekent dit? (Wouter Bolsterlee) +#~ msgid "There was a conflict of interest trying to use this service" +#~ msgstr "Conflicterende belangen bij het gebruik van deze dienst" + +#~ msgid "There was an internal service error" +#~ msgstr "Er is een interne fout opgetreden" + +#~ msgid "This feature is not implemented" +#~ msgstr "Deze functie is niet geïmplementeerd." + +# Vrij vertaald (Wouter Bolsterlee) +#~ msgid "The remote service timed out" +#~ msgstr "De server gaf geen antwoord." + +#~ msgid "Using the %s backend" +#~ msgstr "Gebruikte backend: %s" + +#~ msgid "Stop" +#~ msgstr "Afbreken" + +#~ msgid "Disconnect" +#~ msgstr "Verbinding ver_breken" + +#~ msgid "Connect" +#~ msgstr "Verbinden" + +#~ msgid "Bye bye" +#~ msgstr "Tot ziens" + +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Registratie van nieuwe accountgegevens gelukt" + +# Vrij vertaald (Wouter Bolsterlee) +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "Verbinden met het nieuwe account zou nu moeten werken." + +#~ msgid "Failed to register your new account settings." +#~ msgstr "Registratie accountgegevens mislukt" + +#~ msgid "Successfully changed your account password." +#~ msgstr "Accountwachtwoord succesvol gewijzigd." + +#~ msgid "You should now be able to connect with your new password." +#~ msgstr "Verbinden met het nieuwe wachtwoord zou nu moeten werken." + +#~ msgid "Failed to change your account password." +#~ msgstr "Wijzigen van wachtwoord is mislukt." + +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Vul een nieuw wachtwoord in voor dit account\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Er is geen informatie over dit contact beschikbaar." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Informatie opgevraagd, even geduld..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Ik wil je graag toevoegen aan mijn contactlijst." + +#~ msgid "To summarize:" +#~ msgstr "Samengevat:" + +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "%d nieuw bericht" +#~ msgstr[1] "%d nieuwe berichten" + +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "%d inschrijvingsverzoek" +#~ msgstr[1] "%d inschrijvingsverzoeken" + +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "%d aanvraag voor bestandsoverdracht" +#~ msgstr[1] "%d aanvragen voor bestandsoverdracht" + +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "%d serverbericht" +#~ msgstr[1] "%d serverberichten" + +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "%d fout" +#~ msgstr[1] "%d fouten" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Alle ongelezen berichten zullen bij afsluiten verloren gaan." + +# Vrij vertaald (Wouter Bolsterlee) +#~ msgid "Gossip is still running, it is just hidden." +#~ msgstr "Gossip draait in de achtergrond verder." + +#~ msgid "Click on the notification area icon to show Gossip." +#~ msgstr "" +#~ "Klik op het pictogram in het mededelingengebied om Gossip weer te openen." + +# Vrij vertaald (Wouter Bolsterlee) +#~ msgid "You were about to quit!" +#~ msgstr "Gossip wordt afgesloten!" + +#~ msgid "" +#~ "Since no system or notification tray has been found, this action would " +#~ "normally quit Gossip.\n" +#~ "\n" +#~ "This is just a reminder, from now on, Gossip will quit when performing " +#~ "this action unless you uncheck the option below." +#~ msgstr "" +#~ "Omdat er geen mededelingengebied is gevonden, zou Gossip bij deze actie " +#~ "normaal gesproken afgesloten worden.\n" +#~ "\n" +#~ "Deze mededeling verschijnt omdat Gossip vanaf nu afgesloten zal worden " +#~ "bij deze actie, tenzij u het vinkje hieronder uitschakelt." + +#~ msgid "Edit Account _Details" +#~ msgstr "Accountgegevens _bewerken" + +#~ msgid "Click to enlarge" +#~ msgstr "Klik om te vergroten" + +#~ msgid "Word" +#~ msgstr "Woord" + +#~ msgid "Select who would you like to invite to room:" +#~ msgstr "Kies wie u wilt uitnodigen in deze ruimte:" + +#~ msgid "Select which room you would like to invite:" +#~ msgstr "Kies welke ruimte u wilt uitnodigen:" + +#~ msgid "New message from %s" +#~ msgstr "Nieuw bericht van %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "Uw uitnodiging is geweigerd." + +#~ msgid "Accept" +#~ msgstr "Accepteren" + +#~ msgid "Decline" +#~ msgstr "Weigeren" + +#~ msgid "Name" +#~ msgstr "Naam" + +#~ msgid "Room" +#~ msgstr "Ruimte" + +#~ msgid "Server" +#~ msgstr "Server" + +#~ msgid "Auto Connect" +#~ msgstr "Automatisch verbinden" + +#~ msgid "Information requested..." +#~ msgstr "Informatie opgevraagd…" + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "Wilt u dit contact echt uit de contactlijst verwijderen?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Vul een nieuwe naam in voor de groep\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Selecteren" + +#~ msgid "Unsorted" +#~ msgstr "Ongesorteerd" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server." +#~ msgstr "" +#~ "Geef de bijnaam die u wilt gebruiken voor\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Contactinformatie kan van de server opgevraagd worden." + +#~ msgid "New file transfer request from %s" +#~ msgstr "Nieuwe aanvraag voor bestandsoverdracht van %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "Bestandsoverdracht is aan beide kanten niet ondersteund." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "De bestandsoverdracht is geweigerd." + +#~ msgid "The other user decided not to continue." +#~ msgstr "De andere gebruiker de transactie afgebroken." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Er is een onbekende fout opgetreden tijdens de bestandsoverdracht." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s wil u een bestand toesturen." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Iemand wil u een bestand toesturen." + +#~ msgid "Select a file" +#~ msgstr "Bestand selecteren" + +#~ msgid "Connecting..." +#~ msgstr "Verbinden..." + +# Vrij vertaald (Wouter Bolsterlee) +#~ msgid "Retry connection" +#~ msgstr "Opnieuw verbinding maken" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "%s wordt uitgenodigd om aan dit gesprek deel te nemen." + +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s heeft het onderwerp ingesteld op: %s" + +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Geef een nieuw onderwerp dat u voor deze chatruime wilt instellen:" + +#~ msgid "%s has joined the room" +#~ msgstr "%s is de chatruimte binnengekomen" + +#~ msgid "%s has left the room" +#~ msgstr "%s heeft de chatruimte verlaten" + +#~ msgid "Topic: %s" +#~ msgstr "Onderwerp: %s" + +#~ msgid "Account" +#~ msgstr "Account" + +#~ msgid "Conversation With" +#~ msgstr "Gesprek met" + +#~ msgid "Date" +#~ msgstr "Datum" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "Meerdere keren opstarten van deze applicatie toestaan" + +#~ msgid "List the available accounts" +#~ msgstr "Beschikbare accounts tonen" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Met dit account verbinden bij opstarten" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "ACCOUNTNAAM" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "U kunt --no-connect niet tegelijk met --account gebruiken" + +#~ msgid "No accounts available." +#~ msgstr "Geen accounts beschikbaar." + +#~ msgid "Available accounts:" +#~ msgstr "Beschikbare accounts:" + +#~ msgid "[default]" +#~ msgstr "[standaard]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Er is geen account met de naam ‘%s’." + +#~ msgid "Join" +#~ msgstr "_Binnengaan" + +#~ msgid "Create" +#~ msgstr "Aanmaken" + +#~ msgid "Chat Rooms" +#~ msgstr "Chatruimtes" + +#~ msgid "Found %d conference rooms" +#~ msgstr "%d chatruimtes gevonden" + +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Zoeken naar chatruimes, even geduld…" + +#~ msgid "Browsing cancelled!" +#~ msgstr "Zoeken gestopt!" + +#~ msgid "Default" +#~ msgstr "Standaard" + +#~ msgid "Chat!" +#~ msgstr "Chatten" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s wil aan uw contactlijst worden toegevoegd." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Iemand wil aan de contactlijst worden toegevoegd." + +#~ msgid "Subscription request" +#~ msgstr "Inschrijvingsverzoek" + +#~ msgid "Show" +#~ msgstr "Tonen" + +#~ msgid "Contact Information" +#~ msgstr "Contactinformatie" + +#~ msgid "Contact has been removed" +#~ msgstr "Het contact is verwijderd." + +#~ msgid "Subject: %s" +#~ msgstr "Onderwerp: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Suggesties voor dit woord" + +#~ msgid "New subscription request from %s" +#~ msgstr "Nieuw inschrijvingsverzoek van %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Wilt u deze persoon aan de contactlijst toevoegen?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Wilt u %s aan de contactlijst toevoegen?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Geef uw wachtwoord voor account ‘%s’:" + +#~ msgid "Logging in to account '%s'" +#~ msgstr "Inloggen met account ‘%s’" + +#~ msgid "Remember Password?" +#~ msgstr "Wachtwoord onthouden?" + +#~ msgid "Do not show this again" +#~ msgstr "Niet opnieuw tonen" + +#~ msgid "Could not display the help contents." +#~ msgstr "De hulptekst kan niet worden weergegeven." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Kies uw gebruikersafbeelding" + +#~ msgid "No Image" +#~ msgstr "Geen afbeelding" + +#~ msgid "Cancel" +#~ msgstr "Annuleren" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "De server lijkt niet te reageren." + +#~ msgid "Try again later." +#~ msgstr "Probeer het later opnieuw." + +#~ msgid "Change" +#~ msgstr "Wijzigen" + +#~ msgid "Contact goes offline" +#~ msgstr "Contact gaat offline" + +#~ msgid "Contact goes online" +#~ msgstr "Contact komt online" + +#~ msgid "Contact ID:" +#~ msgstr "Contact ID:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Wilt u dit bestand accepteren?" + +#~ msgid "File Transfer Request" +#~ msgstr "Aanvraag bestandsoverdracht" + +#~ msgid "File name:" +#~ msgstr "Bestandsnaam:" + +#~ msgid "File size:" +#~ msgstr "Bestandsgrootte:" + +#~ msgid "Not supported yet" +#~ msgstr "Nog niet ondersteund" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Deze persoon wil u dit bestand toe sturen:" + +#~ msgid "Web site:" +#~ msgstr "Website:" + +#~ msgid "_Accept" +#~ msgstr "_Accepteren" + +#~ msgid "_Deny" +#~ msgstr "_Weigeren" + +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Onderwerp:</b>" + +#~ msgid "Account:" +#~ msgstr "Account:" + +#~ msgid "Browse:" +#~ msgstr "Bladeren:" + +#~ msgid "Edit Favorite Room" +#~ msgstr "Bladwijzer bewerken" + +#~ msgid "" +#~ "Enter the room name to join here or click on one or more rooms in the " +#~ "list." +#~ msgstr "" +#~ "Vul hier de naam van de chatruimte in of kies een chatruimte uit de lijst." + +#~ msgid "Group Chat" +#~ msgstr "Chatten" + +# Vrij vertaald (Wouter Bolsterlee) +#~ msgid "Join New" +#~ msgstr "Nieuw groepsgesprek" + +#~ msgid "Join room on start_up" +#~ msgstr "Chatruimte binnengaan bij _opstarten" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "Deze chatruimte binnengaan als Gossip start en u verbonden bent" + +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Bladwijzers beheren…" + +#~ msgid "N_ame:" +#~ msgstr "_Naam:" + +#~ msgid "Re_fresh" +#~ msgstr "Ver_versen" + +#~ msgid "S_erver:" +#~ msgstr "S_erver:" + +#~ msgid "" +#~ "This list represents all chat rooms hosted on the server you have entered." +#~ msgstr "" +#~ "Deze lijst toont alle chatruimtes op de server waarmee u verbonden bent." + +#~ msgid "_Nickname:" +#~ msgstr "_Bijnaam:" + +#~ msgid "_Room:" +#~ msgstr "_Ruimte:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>Over</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Clientinformatie</b>" + +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Groepen</b>" + +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Naam</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Persoonlijke details</b>" + +#~ msgid "<b>Status</b>" +#~ msgstr "<b>Status</b>" + +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Inschrijving</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "" +#~ "<span size=\"smaller\">Voorbeeld: Wouter of gebruiker@server.org</span>" + +#~ msgid "Accou_nt:" +#~ msgstr "Accou_nt:" + +#~ msgid "Add Contact" +#~ msgstr "Contact toevoegen" + +#~ msgid "Alia_s:" +#~ msgstr "Alia_s:" + +# hier geen 'gebruikersafbeelding', want dat is te groot (Wouter Bolsterlee) +#~ msgid "Avatar:" +#~ msgstr "Afbeelding:" + +#~ msgid "Birthday:" +#~ msgstr "Verjaardag:" + +#~ msgid "C_hange" +#~ msgstr "_Wijzigen" + +#~ msgid "Ch_at" +#~ msgstr "Ch_atten" + +#~ msgid "Client:" +#~ msgstr "Client:" + +#~ msgid "Con_tact:" +#~ msgstr "Con_tact" + +#~ msgid "Connect on S_tartup" +#~ msgstr "Verbinden bij ops_tarten" + +#~ msgid "Contacts" +#~ msgstr "Contacten" + +#~ msgid "Country:" +#~ msgstr "Land:" + +#~ msgid "Decide _Later" +#~ msgstr "_Later besluiten" + +#~ msgid "Edit Contact" +#~ msgstr "Contact bewerken" + +#~ msgid "Edit Groups" +#~ msgstr "Groepen bewerken" + +#~ msgid "Email:" +#~ msgstr "E-mail:" + +#~ msgid "ID:" +#~ msgstr "ID:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Als u later wilt besluiten, wordt u bij de volgende keer inloggen opnieuw " +#~ "gevraagd." + +#~ msgid "Name:" +#~ msgstr "Naam:" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#~ msgid "Personal Details" +#~ msgstr "Persoonlijke details" + +#~ msgid "R_egister" +#~ msgstr "R_egistreren" + +#~ msgid "Search" +#~ msgstr "Zoeken" + +#~ msgid "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." +#~ msgstr "" +#~ "Selecteer de groepen waar u dit contact in wilt plaatsen. U kunt meerdere " +#~ "of zelfs geen groepen kiezen." + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Geef de bijnaam die u wilt gebruiken voor\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "Contactinformatie kan van de server opgevraagd worden." + +#~ msgid "Spell Checker" +#~ msgstr "Spellingchecker" + +#~ msgid "Subscription Request" +#~ msgstr "Inschrijvingsverzoek" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Suggesties voor dit woord:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Dit werkt als een filter voor de contactlijst hieronder. U kunt delen van " +#~ "de naam of het ID van een contact invullen. Voorbeeld: ‘jabber.org’ toont " +#~ "iedereen op die server." + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "" +#~ "Dit is de naam die voor dit contact getoond wordt in uw contactlijst" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "" +#~ "Deze naam zal worden gebruikt om u mee te identificeren in chatvensters" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Deze naam zal worden gebruikt om u mee te identificeren als nieuwe " +#~ "contacten uw gegevens opvragen" + +# Vrij vertaald (Wouter Bolsterlee) +#~ msgid "Use default name here from the contact's VCard." +#~ msgstr "Gebruik de naam van de VCard van het contact." + +#~ msgid "Use system pro_xy" +#~ msgstr "Systeempro_xy gebruiken" + +#~ msgid "Version:" +#~ msgstr "Versie:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Vorige gesprekken tonen" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Welk account wilt u gebruiken?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "U bent niet ingeschreven voor dit contact." + +#~ msgid "_Birthday:" +#~ msgstr "_Verjaardag:" + +#~ msgid "_Connect" +#~ msgstr "_Verbinden" + +#~ msgid "_Description:" +#~ msgstr "_Beschrijving:" + +#~ msgid "_Disconnect" +#~ msgstr "Verbinding ver_breken" + +#~ msgid "_Email:" +#~ msgstr "_E-mail:" + +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "_Vul de naam of het adres in van de persoon met wie u wilt chatten:" + +#~ msgid "_For:" +#~ msgstr "_Voor:" + +#~ msgid "_Full Name:" +#~ msgstr "_Volledige naam:" + +#~ msgid "_Group:" +#~ msgstr "_Groep:" + +#~ msgid "_Nick Name:" +#~ msgstr "_Bijnaam:" + +#~ msgid "_Password:" +#~ msgstr "_Wachtwoord:" + +#~ msgid "_Quit Message:" +#~ msgstr "Bericht bij afsl_uiten:" + +#~ msgid "_Retrieve" +#~ msgstr "Op_vragen" + +#~ msgid "_Subscribe" +#~ msgstr "_Inschrijven" + +#~ msgid "_Web site:" +#~ msgstr "_Website:" + +#~ msgid "irc account settings" +#~ msgstr "irc-accountgegevens" + +#~ msgid "msn account settings" +#~ msgstr "msn-accountgegevens" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +# Hehe, egotripperij ;) +#~ msgid "Martyn Russell" +#~ msgstr "Wouter Bolsterlee" + +# De naam hieronder wordt nergens getoond, maar is toch leuk om te vertalen... +# (Wouter Bolsterlee) +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Geef de bijnaam die u wilt gebruiken voor\n" +#~ "<b>uws@jabber.xs4all.nl</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " + +#~ msgid "_Forget" +#~ msgstr "_Vergeten" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Group:" +#~ msgstr "Groep:" + +#~ msgid "Nickname:" +#~ msgstr "Bijnaam:" + +#~ msgid "Web Site:" +#~ msgstr "Website:" + +# hmmmm (Wouter Bolsterlee) +#~ msgid "Favourite" +#~ msgstr "Bladwijzer" + +#~ msgid "Add to _favourites" +#~ msgstr "Aan _bladwijzers toevoegen" + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "" +#~ "Bewerk uw bijnaam, de server en de chatruimte waar u wilt binnengaan." + +#~ msgid "Edit your chat room details:" +#~ msgstr "Bewerkt de gegevens van de chatruimte:" + +#~ msgid "Na_me:" +#~ msgstr "Naa_m:" + +#~ msgid "New Chat Room" +#~ msgstr "Nieuwe chatruimte" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "" +#~ "Kies een opgeslagen chatruimte uit de onderstaande lijst en ga de ruimte " +#~ "binnen om te chatten." + +#~ msgid "Save _this chat room" +#~ msgstr "Deze chatruimte op_slaan" + +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "Kies ‘Inschrijven’ als u om statusberichten wilt vragen" + +#~ msgid "_Group Chat" +#~ msgstr "_Groepsgesprek" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "Er zijn geen chat-accounts ingesteld!" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "" +#~ "De volgende stap is het invullen van uw accountgegevens in het " +#~ "accountvenster." + +#~ msgid "Registering account" +#~ msgstr "Bezig met registreren account" + +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Voorbeeld:</span>" + +#~ msgid "Account Name" +#~ msgstr "Accountnaam" + +#~ msgid "Connection Details" +#~ msgstr "Verbindingsgegevens" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Heeft u al een account op een Jabber-server?" + +#~ msgid "Enter a name for this account" +#~ msgstr "Geef een naam voor dit account" + +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "Vul de poort die gebruikt wordt voor het verbinden met dit account" + +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "Vul de server die gebruikt wordt voor het verbinden met dit account" + +#~ msgid "Enter your real name here" +#~ msgstr "Vul hier uw echte naam in" + +#~ msgid "Finished" +#~ msgstr "Voltooid" + +#~ msgid "For increased security, enable this option" +#~ msgstr "Schakel deze optie in voor een betere beveiling" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip is een moderne client voor het Jabber Instant Messaging-systeem.\n" +#~ "\n" +#~ "Deze assistent zal u helpen bij het instellen van Gossip en zal u met uw " +#~ "favoriete Jabber-server verbinden.\n" +#~ "\n" +#~ "Klik om te beginnen op ‘Verder’." + +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option" +#~ msgstr "" +#~ "Als u een andere machine op uw netwerk heeft die als ‘proxy’ fungeert " +#~ "naar het internet, kies dan deze optie om deze ‘proxy’ te gebruiken" + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "Als u specifieke connectiegegevens in wilt vullen, zoals bijvoorbeeld een " +#~ "verschillende server of poort, kunt u dat hier instellen." + +#~ msgid "" +#~ "Leave this blank if you don't want your password stored on a public " +#~ "machine. If you decide to do this, you will be prompted each time you " +#~ "connect for a password" +#~ msgstr "" +#~ "U kunt dit leeglaten als u niet wilt dat uw wachtwoord op een gedeelde " +#~ "computer opgeslagen wordt. U wordt dan wel iedere keer om uw wachtwoord " +#~ "gevraagd bij het maken van een verbinding." + +#~ msgid "Port:" +#~ msgstr "Poort:" + +#~ msgid "Registering Account" +#~ msgstr "Bezig met accountregistratie" + +#~ msgid "Resource:" +#~ msgstr "Bron:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Welkom bij Gossip" + +#~ msgid "What is your name?" +#~ msgstr "Wat is uw naam?" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "Welke naam wilt u gebruiken voor dit account?\n" +#~ "\n" +#~ "U kunt bijvoorbeeld de naam van de provider hiervoor gebruiken. " +#~ "Voorbeeld: <b>Google</b>" + +#~ msgid "What password do you want to use?" +#~ msgstr "Welk wachtwoord wilt u gebruiken?" + +#~ msgid "What username do you use?" +#~ msgstr "Wat is uw gebruikersnaam?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Welke gebruikersnaam wilt u gebruiken?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "De accountgegevens kunnen later gewijzigd worden via ‘Accounts’ in het " +#~ "menu ‘Bewerken’." + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "" +#~ "Ieder account heeft een eigen naam, bijvoorbeeld <b>Thuis</b> of " +#~ "<b>Kantoor</b>. Kies een naam voor dit account:" + +#~ msgid "Your Account" +#~ msgstr "Uw account" + +#~ msgid "Your Identity" +#~ msgstr "Uw identiteit" + +#~ msgid "Your new account has now been set up." +#~ msgstr "Uw nieuwe account is gereed." + +#~ msgid "_No" +#~ msgstr "_Nee" + +#~ msgid "_Yes" +#~ msgstr "_Ja" diff --git a/trunk/po/pl.po b/trunk/po/pl.po new file mode 100644 index 000000000..b7c26a4bf --- /dev/null +++ b/trunk/po/pl.po @@ -0,0 +1,2055 @@ +# Copyright (C) 2003-2004 Free Software Foundation, Inc. +# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +# Aktualną wersję tego pliku możesz odnaleźć w repozytorium cvs.gnome.pl +# (:pserver:anonymous@cvs.gnome.pl:/gnomepl, puste hasło) +# Jeśli masz jakiekolwiek uwagi odnoszące się do tłumaczenia lub chcesz +# pomóc w jego rozwijaniu i pielęgnowaniu, napisz do nas na adres: +# translators@gnome.pl +# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +msgid "" +msgstr "" +"Project-Id-Version: Gossip cvs\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2003-07-17 23:49+0200\n" +"Last-Translator: GNOME PL Team <translators@gnome.pl>\n" +"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Komunikator internetowy" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Komunikator internetowy" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Dodaje do twojej listy kontaktów" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Wyłącz_enie dźwięku przy stanie nieobecności" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Wyłączenie dźwięku przy stanie z_ajętości" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Gossip - Wysyłanie wiadomości" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Ukrycie głównego okna" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Ukrycie głównego okna." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Wyświetl listę kontaków" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Wysokość głównego okna." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Wyświetlanie rozłączonych kontaktów" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +#, fuzzy +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Ta nazwa będzie użyta do identyfikacji w oknach rozmowy." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Używanie emotikonów" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Odgrywanie dźwięków powiadomień" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Określa czy uśmieszki w rozmowach będą konwertowane do postaci graficzniej." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Określa czy dźwięki przy nadejściu wiadmości będą odtwarzane." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Określa czy dźwięki przy stanie nieobecności." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Określa czy dźwięki przy stanie zajętości." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Określa czy dźwięki przy nadejściu wiadmości będą odtwarzane." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Określa czy należy wyświetlać kontakty nie będące w sieci na liście." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Określa czy należy wyświetlać kontakty nie będące w sieci na liście." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Określa czy należy wyświetlać kontakty nie będące w sieci na liście." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Rozłączony" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Dostępny" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Zajęty" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Nieobecny" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Wyświetl listę kontaków" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Grupa" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "_Dodaj kontakt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Ukryj listę kontaktów" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Połącz" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "_Modyfikuj ulubione..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "_Wyświetlanie listy poza siecią" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "Z_aakceptuj" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "Z_aakceptuj" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Dodaj kontakt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Rozmowa" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Połącz" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "_Zakończ" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Nowa wiadomość..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Informacje o użytkowniku" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Preferencje" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Zakończ" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Pokój" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "_Rozmowa" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Stan" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Wyświetl listę kontaków" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, klient pogaduszek sieciowych" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "GNOME PL Team <translators@gnome.pl>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Dostępny" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Ustawienia konta</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Ustawienia konta</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Konto Jabbera" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Ulubione:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Ulubione:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Ustawienia konta</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Czat" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Nazwa:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Temat:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Przykład: uzytkownik@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "_Hasło:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "_Zasób:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "_Kodowanie (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "P_ort:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Serwer:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>Ustawienia konta</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Rozłączony" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Połączony" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Wyczyść" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Czat" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "_Informacje o kontakcie" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Czat" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "Z_ałóż konto..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Wprowadź komunikat stanu:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Przenieś zakładkę w _lewo" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Przenieś zakładkę w p_rawo" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "_Modyfikuj ulubione..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Rozmowa" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Odłącz zakładkę" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Następna zakładka" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Poprzednia zakładka" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "_Wyświetl listę kontaków" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Zakładki" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "S_kopiuj adres odnośnika" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Otwórz odnośnik" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_Nowa wiadomość..." +msgstr[1] "_Nowa wiadomość..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossip - Rozmowa" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Rozmowa" +msgstr[1] "_Rozmowa" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Wprowadzanie wiadomości." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "_Dodaj kontakt..." + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Grupa" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Dodawanie kontaktu" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "_Informacje o kontakcie" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Informacje kontaktowe" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/_Zmień nazwę grupy" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Naz_wa użytkownika:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Wprowadź nowy pseudonim dla kontaktu\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Usuń" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/_Usuń kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossip - Modyfikacja rozmowy grupowej" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Wybierz" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "_Rozmowa" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Wygląd" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Ulubione:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Ulubione:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Stan" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Połącz" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Opis</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "_Nazwa rozmowy:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Wyłącz_enie dźwięku przy stanie nieobecności" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Wyłączenie dźwięku przy stanie z_ajętości" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Odgrywanie dźwięków powiadomień" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Preferencje" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Konwersja _uśmieszków na obrazki graficzne" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Wyświetl listę kontaków" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "Odtwarzanie dźwięku po nadejściu wiadomości" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gossip - Modyfikacja rozmowy grupowej" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Własny komunikat..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "_Wyczyść" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Czy chcesz zaakceptować żądanie?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "_Wyczyść" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Wprowadź komunikat stanu:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Komunikaty stanu" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Ustawione komunikaty stanu" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "Użytkownik %s rozłączył się" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "Użytkownik %s wszedł na sieć" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "_Wyczyść" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Bez łączenia przy uruchamianiu" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Komunikator internetowy" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Komunikator internetowy" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Dołącz" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Nieznany błąd" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Odgrywanie dźwięków powiadomień" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Nieznany błąd" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Dostępny" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Nieznany błąd" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Połączony" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Połączony" + +#, fuzzy +#~ msgid "This feature is unavailable." +#~ msgstr "Serwer może być aktualnie niedostępny." + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Konto Jabbera" + +#~ msgid "Home" +#~ msgstr "Dom" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Serwer może być aktualnie niedostępny." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Zakładanie konta" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Serwer może być aktualnie niedostępny." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Rozłącz" + +#~ msgid "Connect" +#~ msgstr "Połącz" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Konto zostało pomyślnie założone." + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Błąd przy rejestrowaniu konta" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Wpisz swoje hasło:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Wpisz swoje hasło:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Wprowadź nową nazwę dla grupy\n" +#~ "%s" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>Żądanie informacji, proszę czekać...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Chciałbym cię dodać do mojej listy kontaktów." + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_Nowa wiadomość..." +#~ msgstr[1] "_Nowa wiadomość..." + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Prośba subskrypcji" +#~ msgstr[1] "Prośba subskrypcji" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "Prośba o autoryzację" +#~ msgstr[1] "Prośba o autoryzację" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Modyfikacja informacji o koncie" + +#~ msgid "New message from %s" +#~ msgstr "Nowa wiadomość od %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Z_aakceptuj" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Nazwa:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Pokój" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Połącz" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>Żądanie informacji, proszę czekać...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Czy chcesz usunąć kontakt\n" +#~ "%s\n" +#~ "ze swojej listy kontaktów?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Wprowadź nową nazwę dla grupy\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Wybierz" + +#~ msgid "Unsorted" +#~ msgstr "Nieuporządkowana" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Nieznany błąd" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "Chciałbym cię dodać do mojej listy kontaktów." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "Chciałbym cię dodać do mojej listy kontaktów." + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Wybierz" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_Połącz..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Połącz" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Jaki pseudonim ma być używany dla tego kontaktu?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Temat:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Konto Jabbera" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Rozmowa" + +#~ msgid "List the available accounts" +#~ msgstr "Lista dostępnych kont" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "" +#~ "Z którym kontem ma zostać nawiązane połączenie przy uruchamianiu programu" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "NAZWA-KONTA" + +#~ msgid "Available accounts:" +#~ msgstr "Dostępne konta:" + +#~ msgid "[default]" +#~ msgstr "[domyślne]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Brak konta o nazwie \"%s\"." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Dołącz" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Czat" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossip - Rozmowa" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Zapisywanie szczegółów użytkownika, proszę czekać..." + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[domyślne]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Czat" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s zostanie dodany do twojej listy kontaktów." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "%s zostanie dodany do twojej listy kontaktów." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Prośba subskrypcji" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "_Informacje o kontakcie" + +#, fuzzy +#~ msgid "New subscription request from %s" +#~ msgstr "Prośba subskrypcji" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "Czy chcesz usunąć kontakt\n" +#~ "%s\n" +#~ "ze swojej listy kontaktów?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "Czy chcesz usunąć kontakt\n" +#~ "%s\n" +#~ "ze swojej listy kontaktów?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Wpisz swoje hasło:" + +#~ msgid "Remember Password?" +#~ msgstr "Zapamiętać hasło?" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Czat" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "Użytkownik %s wszedł na sieć" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Czy chcesz zaakceptować żądanie?" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "Naz_wa użytkownika:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "Strona WWW:" + +#~ msgid "Web site:" +#~ msgstr "Strona WWW:" + +#~ msgid "_Accept" +#~ msgstr "Z_aakceptuj" + +#~ msgid "_Deny" +#~ msgstr "_Odrzuć" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Ulubione:</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Konto Jabbera" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - Modyfikacja rozmowy grupowej" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - Rozmowa" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Dołącz" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Bez łączenia przy uruchamianiu" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Nazwa:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Serwer:" + +#~ msgid "_Nickname:" +#~ msgstr "_Pseudonim" + +#~ msgid "_Room:" +#~ msgstr "_Pokój" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>Ulubione:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Informacje o kliencie" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Ulubione:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "Stan" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "Szczegóły użytkownika" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Subskrypcja" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Przykład: uzytkownik@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Konto Jabbera" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "_Dodaj kontakt..." + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Czat" + +#~ msgid "Client:" +#~ msgstr "Klient:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "_Dodaj kontakt..." + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Bez łączenia przy uruchamianiu" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "_Dodaj kontakt..." + +#~ msgid "Country:" +#~ msgstr "Kraj:" + +#~ msgid "Decide _Later" +#~ msgstr "Z_decyduj później" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "_Dodaj kontakt..." + +#~ msgid "Edit Groups" +#~ msgstr "Modyfikacja grup" + +#~ msgid "Email:" +#~ msgstr "E-mail:" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "JID" + +#~ msgid "Name:" +#~ msgstr "Nazwa:" + +#~ msgid "OS:" +#~ msgstr "System:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "_Szczegóły użytkownika" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Z_ałóż konto..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Znajdź..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Gossip - Wysyłanie wiadomości" + +#, fuzzy +#~ msgid "Subscription Request" +#~ msgstr "Prośba subskrypcji" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Jaki pseudonim ma być używany dla tego kontaktu?" + +#, fuzzy +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Ta nazwa będzie użyta do identyfikacji w oknach rozmowy." + +#, fuzzy +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "Ta nazwa będzie użyta do identyfikacji w oknach rozmowy." + +#~ msgid "Version:" +#~ msgstr "Wersja:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "_Rozmowa" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Jakiej nazwy użytkownika chcesz używać?" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Połącz" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Opis" + +#~ msgid "_Disconnect" +#~ msgstr "_Rozłącz" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "E-mail:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "Wprowadź identyfikator osoby, do której chcesz wysłać wiadomość." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "P_ort:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Nazwa:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Grupa" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Pseudonim" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Hasło:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "_Komunikaty stanu" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "_Usuń" + +#~ msgid "_Subscribe" +#~ msgstr "_Subskrybuj" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Strona WWW:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>Ustawienia konta</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>Ustawienia konta</b>" + +#~ msgid "Preset status messages" +#~ msgstr "Ustawione komunikaty stanu" + +#~ msgid "Preset status messages." +#~ msgstr "Ustawione komunikaty stanu." + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "Połącz" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s zostanie dodany do twojej listy kontaktów." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "_ID Jabbera dla nowego kontaktu:" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Wpisz swoje hasło:" + +#~ msgid "Contact Information for %s" +#~ msgstr "Informacje kontaktowe na temat %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_Informacje o kontakcie" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/Z_mień nazwę kontaktu" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/Modyfi_kuj grupy" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "_Rozmowa" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Wprowadź nowy pseudonim dla kontaktu\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Modyfikacja grup dla %s" + +#~ msgid "Conversation Log" +#~ msgstr "Dziennik rozmowy" + +#~ msgid "Registering account" +#~ msgstr "Zakładanie konta" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Powód:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "_Modyfikuj ulubione..." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Nazwa:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossip - Rozmowa" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Żądanie informacji, proszę czekać...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Przykład: uzytkownik@jabber.org</span>" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - Rozmowa" + +#, fuzzy +#~ msgid "Connection Details" +#~ msgstr "Szczegóły użytkownika" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Czy posiadasz już konto na serwerze Jabbera?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Wprowadź nowy pseudonim dla kontaktu\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Wprowadź nowy pseudonim dla kontaktu\n" +#~ "%s" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Instalacja zakończona" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip jest nowoczesnym klientem systemu komunikacyjnego Jabber.\n" +#~ "\n" +#~ "Ten asystent pomoże Ci skonfigurować program Gossip i połączyć się z " +#~ "twoim ulubionym serwerem Jabbera.\n" +#~ "\n" +#~ "Aby rozpocząć, kliknij \"Naprzód\"." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Prośba o autoryzację zostanie wsyłana jeśli chcesz być powiadamiany o " +#~ "obecności użytkownika. Dopóki prośba nie zostanie zaakceptowana " +#~ "użytkownik będzie pokazywany na twojej liście kontaktów jako \"Rozłączony" +#~ "\"." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "W której grupie chcesz umieścić ten kontakt?" + +#~ msgid "Jabber ID:" +#~ msgstr "ID Jabbera:" + +#~ msgid "Nickname:" +#~ msgstr "Pseudonim:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "P_ort:" + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Zakładanie konta" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "_Zasób:" + +#~ msgid "Sending request" +#~ msgstr "Wysyłanie prośby o autoryzację." + +#~ msgid "Server:" +#~ msgstr "Serwer:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "Strona WWW:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Witaj w programie Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Jakiego komunikatora używa ten kontakt?" + +#~ msgid "What is your name?" +#~ msgstr "Jak się nazywasz?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Z jakiego serwera chcesz korzystać?" + +#~ msgid "What username do you use?" +#~ msgstr "Jakiej nazwy użytkownika używasz?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Jakiej nazwy użytkownika chcesz używać?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "W której grupie chcesz umieścić ten kontakt?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Program Gossip został poprawnie skonfigurowany.\n" +#~ "Można zmienić ustawienia swojego konta później, wybierając z menu Akcje-" +#~ ">Połącz... " + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Konto Jabbera" + +#~ msgid "Your Identity" +#~ msgstr "Twoja tożsamość" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gossip - Rozmowa" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Nie" + +#~ msgid "_Search..." +#~ msgstr "_Znajdź..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Tak" + +#~ msgid "Be silent when away" +#~ msgstr "Zachowywanie ciszy przy stanie nieobecności" + +#~ msgid "Be silent when busy" +#~ msgstr "Zachowywanie ciszy przy zajętości" + +#~ msgid "Height of main window" +#~ msgstr "Wysokość głównego okna" + +#~ msgid "The X position of the main window." +#~ msgstr "Pozycja X (w poziomie) głównego okna." + +#~ msgid "The Y position of the main window." +#~ msgstr "Pozycja Y (w pionie) głównego okna." + +#~ msgid "The width of the main window." +#~ msgstr "Szerokość głównego okna." + +#~ msgid "Width of the main window" +#~ msgstr "Szerokość głównego okna" + +#~ msgid "X position of main window" +#~ msgstr "Pozycja X głównego okna" + +#~ msgid "Y position of main window" +#~ msgstr "Pozycja Y głównego okna" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, klient pogaduszek sieciowych" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Ukrycie głównego okna." + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "_Informacje o koncie" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Komunikat stanu" + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "Użytkownik %s rozłączył się" + +#~ msgid "Available..." +#~ msgstr "Dostępny..." + +#~ msgid "Busy..." +#~ msgstr "Zajęty..." + +#~ msgid "Away..." +#~ msgstr "Nieobecny..." + +#~ msgid "Contact _Information" +#~ msgstr "_Informacje o kontakcie" + +#, fuzzy +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Opis</b>" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Rozmowa grupowa" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "_Dołącz do rozmowy grupowej..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "P_ort:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Informacje o kliencie" + +#, fuzzy +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "Żądanie szczegółów użytkownika, proszę czekać..." + +#, fuzzy +#~ msgid "Could not open connection" +#~ msgstr "Nie można nawiązać połączenia" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Z jakiego serwera chcesz korzystać?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>Połączenie do serwera</b>" + +#~ msgid "Written by:" +#~ msgstr "Autorzy:" + +#~ msgid "Artwork by:" +#~ msgstr "Grafika:" + +#~ msgid "Translated by:" +#~ msgstr "Tłumaczenie:" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "_Informacje o koncie" + +#~ msgid "%sChat - %s" +#~ msgstr "%sRozmowa - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Wyświetl _dziennik" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Wersja:" + +#, fuzzy +#~ msgid "Latvian" +#~ msgstr "Jem" + +#~ msgid "View Lo_g" +#~ msgstr "Wyświetl dzienni_k" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - Rozmowa grupowa" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Dodaje kontakt" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "_Informacje o kontakcie" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - Modyfikacja rozmowy grupowej" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - Rozmowa grupowa" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - Wysyłanie wiadomości" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Szczegóły użytkownika" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Preferencje" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - Wysyłanie wiadomości" + +#, fuzzy +#~ msgid "Personal Details Saved!" +#~ msgstr "Szczegóły użytkownika" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Jaka wiadomość żądania ma zostać wysłana do %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Upewnij się, że twoje informacje o koncie są poprawne." + +#~ msgid "%s wants to be notified of your status." +#~ msgstr "%s chce być powiadamiany o twojej obecności." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "" +#~ "Połączenie z serwerem zostało utracone. Czy chcesz się ponownie połączyć?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Upewnij się, że informacje o koncie są poprawne. Serwer może być również " +#~ "niedostępny." + +#~ msgid "Edit List..." +#~ msgstr "Modyfikuj listę..." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "Wystąpił błąd podczas rozmowy z użytkownikiem %s." + +#~ msgid "Details:" +#~ msgstr "Szczegóły:" + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "Wystąpił błąd podczas rozmowy grupowej %s." + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Nie można dołączyć do rozmowy grupowej %s." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip spróbuje użyć twojego konta:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip spróbuje zarejestrować konto:" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Od:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - Otrzymana wiadomość" + +#~ msgid "In reply to:" +#~ msgstr "W odpowiedzi do:" + +#~ msgid "To:" +#~ msgstr "Do:" + +#~ msgid "_Reply..." +#~ msgstr "_Odpowiedz..." + +#~ msgid "_Send" +#~ msgstr "_Wyślij" + +#~ msgid "C_onnect" +#~ msgstr "_Połącz" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Dostępne pokoje</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Informacja o pokoju</b>" + +#~ msgid "Gossip - Join Group Chat" +#~ msgstr "Gossip - Dołączanie do rozmowy grupowej" + +#~ msgid "N_ickname:" +#~ msgstr "_Pseudonim:" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "" +#~ "Wybież rozmowę z ulubioncyh lub wpisz pseudonim, nazwę serwera i nazwę " +#~ "pokoju, do którego chcesz wejść." + +#~ msgid "R_emove" +#~ msgstr "U_suń" + +#~ msgid "_Add" +#~ msgstr "_Dodaj" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Personal information</b>" +#~ msgstr "<b>Informacje o użytkowniku</b>" + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Ustawione komunikaty stanu</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Informacja nie jest dostępna</i>" + +#~ msgid "Choose a Server" +#~ msgstr "Wybierz serwer" + +#~ msgid "Choose from list:" +#~ msgstr "Wybierz z listy:" + +#~ msgid "Information about ..." +#~ msgstr "Informacje o programie ..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "Na jakim serwerze Jabbera masz konto?" + +#~ msgid "Sound" +#~ msgstr "Dźwięk" + +#~ msgid "Use a different server" +#~ msgstr "Użycie innego serwera" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Jaka wiadomość żądania ma zostać wysłana do ...?" + +#~ msgid "subscription_label" +#~ msgstr "subscription_label" + +#~ msgid "About to leave..." +#~ msgstr "Za chwilę zakończymy..." + +#~ msgid "Autoaway message" +#~ msgstr "Automatyczny komunikat o nieobecności" + +#~ msgid "Away messages" +#~ msgstr "Komunikaty niedostępności" + +#~ msgid "Message to show before going away" +#~ msgstr "Komunikat wyświetlany przed przejściem w stan nieobecności" + +#~ msgid "Not at the computer" +#~ msgstr "Nie jestem przy komputerze" + +#~ msgid "Just about to leave..." +#~ msgstr "Zaraz zakończymy..." + +#~ msgid "A Jabber Client for GNOME" +#~ msgstr "Klient Jabbera dla GNOME" + +#~ msgid "Gossip Website" +#~ msgstr "Witryna programu Gossip" + +#~ msgid "Custom Busy Message..." +#~ msgstr "Własny komunikat o zajętości..." + +#~ msgid "New Busy Message" +#~ msgstr "Nowy komunikat o zajętości" + +#~ msgid "New Away Message" +#~ msgstr "Nowy komunikat o nieobecności" + +#~ msgid "Working" +#~ msgstr "Pracuję" + +#~ msgid "Sleeping" +#~ msgstr "Śpię" + +#~ msgid "Enter the new message:" +#~ msgstr "Podaj nową wiadomość:" + +#~ msgid "Reason for being busy:" +#~ msgstr "Powód zajętości:" diff --git a/trunk/po/pt.po b/trunk/po/pt.po new file mode 100644 index 000000000..6c032c8c5 --- /dev/null +++ b/trunk/po/pt.po @@ -0,0 +1,2003 @@ +# gossip's Portuguese translation +# Copyright © 2003, 2004 gossip +# This file is distributed under the same license as the gossip package. +# Duarte Loreto <happyguy_pt@hotmail.com>, 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: 2.8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-08-13 18:20+0000\n" +"Last-Translator: Duarte Loreto <happyguy_pt@hotmail.com>\n" +"Language-Team: Portuguese <gnome_pt@yahoogroups.com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Mensagens Instantâneas" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Mensagens Instantâneas" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Adicionar à sua lista de contactos" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Desabilitar sons quando _ausente" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Desabilitar sons quando _ocupado" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Gossip - Enviar Mensagem" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Esconder a janela principal" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Esconder a janela principal." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Apresentar Lista de Contactos" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "A altura da janela principal." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Mostrar os contactos desligados" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +#, fuzzy +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Este nome será utilizado para o identificar em janelas de diálogo." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Utilizar risonhos gráficos" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Utilizar sons de notificação" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Se converter ou não risonhos em imagens gráficas nos diálogos." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Se reproduzir ou não um som ao receber uma mensagem." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Se reproduzir ou não um som quando ausente." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Se reproduzir ou não um som quando ocupado." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Se reproduzir ou não um som ao receber uma mensagem." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Se apresentar ou não na lista de contactos os que estejam desligados." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Se apresentar ou não na lista de contactos os que estejam desligados." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Se apresentar ou não na lista de contactos os que estejam desligados." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Desligado" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Disponível" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Ocupado" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Ausente" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Apresentar Lista de Contactos" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Grupo" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "_Adicionar Contacto..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Esconder Lista de Contactos" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Ligar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "_Editar favoritas..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Apresentar Contactos _Desligados" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Aceitar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Aceitar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Adicionar Contacto..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Diálogo" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Ligar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Nova Mensagem..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Informação pessoal" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Preferências" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Sala:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "_Diálogo" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Estado" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Apresentar Lista de Contactos" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, Um Cliente de Mensagens Instantâneas" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "Duarte Loreto" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Disponível" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Definições de Conta</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Definições de Conta</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Conta Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Favorita:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Favorita:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Definições de Conta</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Diálogo" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +#, fuzzy +msgid "Imendio " +msgstr "Gossip Imendio" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Nome:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Tópico:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Exemplo: utilizador@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "Sen_ha:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "_Recurso:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Utilizar _encriptação (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "P_orto:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Servidor:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>Definições de Conta</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Desligado" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Ligado" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Limpar" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Diálogo" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "_Informação de Contacto" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Diálogo" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "Re_gistar..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Introduza a mensagem de estado:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Mover Separador à _Esquerda" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Mover Separador à _Direita" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "_Editar favoritas..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Diálogo" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Destacar o Separador" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "Separador _Seguinte" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "Separador _Anterior" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "_Apresentar Lista de Contactos" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Separadores" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Copiar Endereço do Link" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Abrir o Link" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_Nova Mensagem..." +msgstr[1] "_Nova Mensagem..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossip - Diálogo" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Diálogo" +msgstr[1] "_Diálogo" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "A escrever uma mensagem." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "_Adicionar Contacto..." + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Grupo" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Adicionar um contacto" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "_Informação de Contacto" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Informação de contacto" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/Re_nomear grupo" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Nome de _utilizador:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Introduza uma nova alcunha para o contacto\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Remover" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/_Remover contacto" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossip - Editar Diálogos em Grupo" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Seleccionar" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "_Diálogo" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Aparência" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Favorita:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Favorita:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Estado" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Ligar" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Descrição</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "_Nome do diálogo:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Desabilitar sons quando _ausente" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Desabilitar sons quando _ocupado" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Utilizar sons de notificação" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Preferências" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Converter ri_sonhos em imagens gráficas" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Apresentar Lista de Contactos" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "Reproduzir um som ao receber mensagens" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gossip - Editar Diálogos em Grupo" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Mensagem de pedido" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "_Limpar" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Deseja aceitar o pedido?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "_Limpar" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Introduza a mensagem de estado:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Mensagens de Estado" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Mensagens de estados pré-definidas" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s desligou-se" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s ligou-se" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "_Limpar" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Não estabelecer ligação ao iniciar" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Mensagens Instantâneas" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Mensagens Instantâneas" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Juntar" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Erro desconhecido" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Utilizar sons de notificação" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Erro desconhecido" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Disponível" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Erro desconhecido" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Ligado" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Ligado" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Conta Jabber" + +#~ msgid "Home" +#~ msgstr "Página Pessoal" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "A registar a conta" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Desligar" + +#~ msgid "Connect" +#~ msgstr "Ligar" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Conta registada com sucesso" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Falha ao registar a conta" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Introduza a sua senha:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Introduza a sua senha:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Introduza um novo nome para o grupo\n" +#~ "%s" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>Informação pedida, Aguarde...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Desejo adicioná-lo à minha lista de contactos." + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_Nova Mensagem..." +#~ msgstr[1] "_Nova Mensagem..." + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Pedido de Subscrição" +#~ msgstr[1] "Pedido de Subscrição" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Editar Informação de Conta" + +#~ msgid "New message from %s" +#~ msgstr "Nova mensagem de %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Aceitar" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Sala:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Ligar" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>Informação pedida, Aguarde...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Deseja remover o contacto\n" +#~ "%s\n" +#~ "da sua lista de contactos?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Introduza um novo nome para o grupo\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Seleccionar" + +#~ msgid "Unsorted" +#~ msgstr "Sem ordenação" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Erro desconhecido" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "Desejo adicioná-lo à minha lista de contactos." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "Desejo adicioná-lo à minha lista de contactos." + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Seleccionar" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_Ligar..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Ligar" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Que alcunha deseja utilizar para este contacto?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Tópico:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Conta Jabber" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Diálogo" + +#~ msgid "List the available accounts" +#~ msgstr "Listar as contas disponíveis" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Com que conta estabelecer ligação ao iniciar" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "NOME-CONTA" + +#~ msgid "Available accounts:" +#~ msgstr "Contas disponíveis:" + +#~ msgid "[default]" +#~ msgstr "[omissão]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Não existe qualquer conta com o nome '%s'." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Juntar" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Diálogo" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossip - Diálogo" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "A gravar os dados pessoais, aguarde..." + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[omissão]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Diálogo" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s será adicionado à sua lista de contactos." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "%s será adicionado à sua lista de contactos." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Pedido de Subscrição" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "_Informação de Contacto" + +#, fuzzy +#~ msgid "New subscription request from %s" +#~ msgstr "Pedido de Subscrição" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "Deseja remover o contacto\n" +#~ "%s\n" +#~ "da sua lista de contactos?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "Deseja remover o contacto\n" +#~ "%s\n" +#~ "da sua lista de contactos?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Introduza a sua senha:" + +#~ msgid "Remember Password?" +#~ msgstr "Recordar a Senha?" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Diálogo" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "%s ligou-se" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Deseja aceitar o pedido?" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "Nome de _utilizador:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "Página web:" + +#~ msgid "Web site:" +#~ msgstr "Página web:" + +#~ msgid "_Accept" +#~ msgstr "_Aceitar" + +#~ msgid "_Deny" +#~ msgstr "_Negar" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Favorita:</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Conta Jabber" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - Editar Diálogos em Grupo" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - Diálogo" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Juntar" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Não estabelecer ligação ao iniciar" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Servidor:" + +#~ msgid "_Nickname:" +#~ msgstr "_Alcunha:" + +#~ msgid "_Room:" +#~ msgstr "_Sala:" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>Favorita:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Informação de cliente" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Favorita:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "Estado" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "Detalhes Pessoais" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Subscrição" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Exemplo: utilizador@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Conta Jabber" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "_Adicionar Contacto..." + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Diálogo" + +#~ msgid "Client:" +#~ msgstr "Cliente:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "_Adicionar Contacto..." + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Não estabelecer ligação ao iniciar" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "_Adicionar Contacto..." + +#~ msgid "Country:" +#~ msgstr "País:" + +#~ msgid "Decide _Later" +#~ msgstr "_Decidir Mais Tarde" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "_Adicionar Contacto..." + +#~ msgid "Edit Groups" +#~ msgstr "Editar Grupos" + +#~ msgid "Email:" +#~ msgstr "Email:" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "JID" + +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "OS:" +#~ msgstr "SO:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "Detalhes _Pessoais" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Re_gistar..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Procurar..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Gossip - Enviar Mensagem" + +#, fuzzy +#~ msgid "Subscription Request" +#~ msgstr "Pedido de Subscrição" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Que alcunha deseja utilizar para este contacto?" + +#, fuzzy +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Este nome será utilizado para o identificar em janelas de diálogo." + +#, fuzzy +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "Este nome será utilizado para o identificar em janelas de diálogo." + +#~ msgid "Version:" +#~ msgstr "Versão:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "_Diálogo" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Que nome de utilizador deseja utilizar?" + +#, fuzzy +#~ msgid "You are not subscribed to this contact." +#~ msgstr "" +#~ "Não se encontra subscrito no estado deste contacto. Subscreva para " +#~ "receber o seu estado." + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Ligar" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Descrição" + +#~ msgid "_Disconnect" +#~ msgstr "_Desligar" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Email:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Introduza o ID de utilizador da pessoa para quem deseja enviar uma " +#~ "mensagem de diálogo." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "P_orto:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Grupo" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Alcunha:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "Sen_ha:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Mensagens de E_stados" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "_Remover" + +#~ msgid "_Subscribe" +#~ msgstr "_Subscrever" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Página web:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>Definições de Conta</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>Definições de Conta</b>" + +#~ msgid "Preset status messages" +#~ msgstr "Mensagens de estados pré-definidas" + +#~ msgid "Preset status messages." +#~ msgstr "Mensagens de estados pré-definidas." + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "Ligar" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s será adicionado à sua lista de contactos." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "ID _Jabber do novo contacto:" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Introduza a sua senha:" + +#~ msgid "Contact Information for %s" +#~ msgstr "Informação de Contacto para %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_Informação de Contacto" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/Re_nomear contacto" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/_Editar grupos" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "_Diálogo" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Introduza uma nova alcunha para o contacto\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Editar os grupos de %s" + +#~ msgid "Conversation Log" +#~ msgstr "Registo de Diálogo" + +#~ msgid "Registering account" +#~ msgstr "A registar a conta" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Motivo:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "_Editar favoritas..." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossip - Diálogo" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Informação pedida, Aguarde...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Exemplo: utilizador@jabber.org</span>" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - Diálogo" + +#, fuzzy +#~ msgid "Connection Details" +#~ msgstr "Detalhes Pessoais" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Já possui uma conta num servidor Jabber?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Introduza uma nova alcunha para o contacto\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Introduza uma nova alcunha para o contacto\n" +#~ "%s" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Configuração Terminada" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip é um moderno cliente para o sistema de Mensagens Instantâneas " +#~ "Jabber.\n" +#~ "\n" +#~ "Este assistente irá ajudá-lo a configurar o Gossip e ligá-lo ao seu " +#~ "servidor Jabber favorito.\n" +#~ "\n" +#~ "Para começar, prima \"Prosseguir\"." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Por forma a subscrever notificações de presença do utilizador, será " +#~ "enviado um pedido. Até que este pedido seja aprovado, o utilizador será " +#~ "sempre apresentado como \"Desligado\" na sua lista de contactos." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "Em que grupo deseja colocar este contacto?" + +#~ msgid "Jabber ID:" +#~ msgstr "ID Jabber:" + +#~ msgid "Nickname:" +#~ msgstr "Alcunha:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "P_orto:" + +#, fuzzy +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "" +#~ "Não se encontra subscrito no estado deste contacto. Subscreva para " +#~ "receber o seu estado." + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "A registar a conta" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "_Recurso:" + +#~ msgid "Sending request" +#~ msgstr "A enviar pedido" + +#~ msgid "Server:" +#~ msgstr "Servidor:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "Página web:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Bem Vindo ao Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Que sistema de mensagens instantâneas utiliza o contacto?" + +#~ msgid "What is your name?" +#~ msgstr "Qual é o seu nome?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Que servidor deseja utilizar?" + +#~ msgid "What username do you use?" +#~ msgstr "Que nome de utilizador utiliza?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Que nome de utilizador deseja utilizar?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Em que grupo deseja colocar este contacto?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Gossip está agora correctamente configurado para o seu sistema.\n" +#~ "Pode alterar as suas definições de conta mais tarde, seleccionando o item " +#~ "de menu Diálogo->Ligar..." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Conta Jabber" + +#~ msgid "Your Identity" +#~ msgstr "A Sua Identidade" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gossip - Diálogo" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Não" + +#~ msgid "_Search..." +#~ msgstr "_Procurar..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Sim" + +#~ msgid "Be silent when away" +#~ msgstr "Silencioso quando ausente" + +#~ msgid "Be silent when busy" +#~ msgstr "Silencioso quando ocupado" + +#~ msgid "Height of main window" +#~ msgstr "Altura da janela principal" + +#~ msgid "The X position of the main window." +#~ msgstr "A posição X da janela principal." + +#~ msgid "The Y position of the main window." +#~ msgstr "A posição Y da janela principal." + +#~ msgid "The width of the main window." +#~ msgstr "A largura da janela principal." + +#~ msgid "Width of the main window" +#~ msgstr "Largura da janela principal" + +#~ msgid "X position of main window" +#~ msgstr "Posição X da janela principal" + +#~ msgid "Y position of main window" +#~ msgstr "Posição Y da janela principal" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, Um Cliente de Mensagens Instantâneas" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Esconder a janela principal." + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "Informação de Cont_a" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Mensagem de Estado" + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s desligou-se" + +#~ msgid "Available..." +#~ msgstr "Disponível..." + +#~ msgid "Busy..." +#~ msgstr "Ocupado..." + +#~ msgid "Away..." +#~ msgstr "Ausente..." + +#~ msgid "Contact _Information" +#~ msgstr "_Informação de Contacto" + +#, fuzzy +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Descrição</b>" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Diálogo" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "_Juntar-se a Diálogo em Grupo..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "P_orto:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Informação de cliente" + +#, fuzzy +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "A pedir os dados pessoais, aguarde..." + +#, fuzzy +#~ msgid "Could not open connection" +#~ msgstr "Incapaz de estabelecer uma ligação" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Que servidor deseja utilizar?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>Ligar-se ao servidor</b>" + +#~ msgid "Written by:" +#~ msgstr "Escrito por:" + +#~ msgid "Artwork by:" +#~ msgstr "Arte gráfica por:" + +#~ msgid "Translated by:" +#~ msgstr "Traduzido por:" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "Informação de Cont_a" + +#~ msgid "%sChat - %s" +#~ msgstr "%sDiálogo - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Apresentar _Registo" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Versão:" + +#~ msgid "View Lo_g" +#~ msgstr "Ver Re_gisto" + +#, fuzzy +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - Juntar-se ao Diálogo em Grupo" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Adicionar um contacto" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "_Informação de Contacto" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - Editar Diálogos em Grupo" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - Diálogo" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - Enviar Mensagem" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Detalhes Pessoais" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Preferências" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - Enviar Mensagem" + +#, fuzzy +#~ msgid "Personal Details Saved!" +#~ msgstr "Detalhes Pessoais" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Que mensagem de pedido deseja enviar a %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Certifique-se de que a sua informação de conta está correcta." + +#~ msgid "%s wants to be notified of your status." +#~ msgstr "%s deseja ser notificado do seu estado." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Foi desligado do servidor. Deseja ligar-se novamente?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Certifique-se de que a sua informação de conta está correcta. O servidor " +#~ "poderá também estar temporariamente indisponível." + +#~ msgid "Edit List..." +#~ msgstr "Editar a Lista..." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "Ocorreu um erro durante o diálogo com %s." + +#~ msgid "Details:" +#~ msgstr "Detalhes:" + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "Ocorreu um erro durante o diálogo em grupo %s." + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Incapaz de se juntar ao diálogo em grupo %s." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip irá agora tentar utilizar a sua conta:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip irá agora tentar registar a conta:" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "De:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - Mensagem Recebida" + +#~ msgid "In reply to:" +#~ msgstr "Em resposta a:" + +#~ msgid "To:" +#~ msgstr "Para:" + +#~ msgid "_Reply..." +#~ msgstr "_Responder..." + +#~ msgid "_Send" +#~ msgstr "_Enviar" + +#~ msgid "C_onnect" +#~ msgstr "_Ligar" + +#~ msgid "Connect _Server:" +#~ msgstr "Ligar ao _Servidor:" + +#~ msgid "_Jabber ID:" +#~ msgstr "ID _Jabber:" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Salas de diálogo disponíveis</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Informação de sala de diálogo</b>" + +#~ msgid "Imendio Gossip - Group Chat" +#~ msgstr "Gossip Imendio - Diálogo em Grupo" + +#~ msgid "N_ickname:" +#~ msgstr "_Alcunha:" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "" +#~ "Seleccione uma favorita ou introduza alcunha, nome de servidor e o nome " +#~ "da sala de diálogo à qual se juntar." + +#~ msgid "R_emove" +#~ msgstr "R_emover" + +#~ msgid "_Add" +#~ msgstr "_Adicionar" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Personal information</b>" +#~ msgstr "<b>Informação pessoal</b>" + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Mensagens de estado pré-definidas</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Informação indisponível</i>" + +#~ msgid "Choose a Server" +#~ msgstr "Seleccione um Servidor" + +#~ msgid "Choose from list:" +#~ msgstr "Seleccione da lista:" + +#~ msgid "Information about ..." +#~ msgstr "Informação sobre ..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "Em que servidor possui uma conta Jabber?" + +#~ msgid "Sound" +#~ msgstr "Som" + +#~ msgid "Use a different server" +#~ msgstr "Utilizar outro servidor" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Que mensagem de pedido deseja enviar para ...?" + +#~ msgid "subscription_label" +#~ msgstr "etiqueta_subscrição" diff --git a/trunk/po/pt_BR.po b/trunk/po/pt_BR.po new file mode 100644 index 000000000..3dd5a36a9 --- /dev/null +++ b/trunk/po/pt_BR.po @@ -0,0 +1,2050 @@ +# Brazilian Portuguese translation of gossip. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the gossip package. +# Luiz Guaraldo <software.livre@terra.com.br>, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-08-27 18:24-0300\n" +"Last-Translator: Luiz Guaraldo <software.livre@terra.com.br>\n" +"Language-Team: Gnome-BR <gnome-l10n-br@listas.cipsga.org.br>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Mensageiro Instantâneo" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Mensageiro Instantâneo" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Adicionar à sua lista de contatos" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Des_abilitar sons quando longe" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Desa_bilitar sons quando ocupado" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Gossip - Mensagem Enviada" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Ocultar janela principal" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Ocultar a janela principal." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Mostrar Lista de Contatos" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "A altura da janela principal." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Mostrar contatos offline" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +#, fuzzy +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Este nome será utilizado para identificá-lo em janelas de chat." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Usar emoticons gráficos" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Usar sons de notificação" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Se você quer converter ou não emoticons em imagens gráficas durante " +"conversação." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Se você quer ou não tocar um som quando chegar mensagens." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Se você quer ou não tocar sons quando longe." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Se você quer ou não tocar sons quando ocupado." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Se você quer ou não tocar um som quando chegar mensagens." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Se você quer ou não mostrar contatos que estejam offline na lista de " +"contatos." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" +"Se você quer ou não mostrar contatos que estejam offline na lista de " +"contatos." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "" +"Se você quer ou não mostrar contatos que estejam offline na lista de " +"contatos." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Offline" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Disponível" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Ocupado" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Longe" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Mostrar Lista de Contatos" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Grupo" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "_Adicionar Contato..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Ocultar Lista de Contatos" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Conectar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "_Editar favoritos..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Mostrar contatos _Offline" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Aceitar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Aceitar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Adicionar Contato..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Chat" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Conectar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Nova Mensagem..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Informação pessoal" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Preferências" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Sala:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "_Conversa" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Status" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Mostrar Lista de Contatos" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, Cliente de Mensagens Instantâneas" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "Luiz Guaraldo <software.livre@terra.com.br>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Disponível" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Configurações da Conta</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Configurações da Conta</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Conta Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Favoritos:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Favoritos:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Configurações da Conta</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +#, fuzzy +msgid "Imendio " +msgstr "Imendio Gossip" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Nome:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Tópico:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"small\">Por exemplo: usuario@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "Senha:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "_Recursos:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Usar _encriptação (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "P_orta:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Servidor:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>Configurações da Conta</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Desconectado" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Conectado" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "_Limpar" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "_Informação do Contato" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Chat" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "Re_gistrar..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Digite mensagem de status:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Mover Aba à _Esquerda" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Mover Aba à _Direita" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "_Editar favoritos..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Conversa" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Destacar Aba" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Próxima Aba" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "Aba _Anterior" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "_Mostrar Lista de Contatos" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Abas" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Copiar Endereço do Link" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "Abrir _o Link" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A, %d de %B de %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_Nova Mensagem..." +msgstr[1] "_Nova Mensagem..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossip - Chat" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Conversa" +msgstr[1] "_Conversa" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Digitando uma mensagem." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "_Adicionar Contato..." + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Grupo" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Adicionar um contato" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "_Informação do Contato" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "informação do contato" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/Re_nomear grupo" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Nome de usuário:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Por favor, digite o novo apelido para o contato\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Remover" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/_Remover contato" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossip - Editar Grupos de Chats" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Selecionar" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "_Conversa" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Aparência" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Favoritos:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Favoritos:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Status" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Conectar" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Descrição</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "_Nome de Chat:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Des_abilitar sons quando longe" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Desa_bilitar sons quando ocupado" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Usar sons de notificação" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Preferências" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "converter emoticons para imagens gráficas" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Mostrar Lista de Contatos" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "tocar som quando chegar mensagens" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gossip - Editar Grupos de Chats" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Mensagem de solicitação" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "_Limpar" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Você quer aceitar a solicitação" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "_Limpar" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Digite mensagem de status:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "mensagens de Status" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Mensagem de status presente" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s desconectou" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s conectou" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "_Limpar" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Não conectar ao iniciar" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Mensageiro Instantâneo" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Mensageiro Instantâneo" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Juntar-se" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Erro desconhecido" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Usar sons de notificação" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Erro desconhecido" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Disponível" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Erro desconhecido" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Conectado" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Conectado" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Conta Jabber" + +#~ msgid "Home" +#~ msgstr "Início" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Detalhes do Registro" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_desconectar" + +#~ msgid "Connect" +#~ msgstr "Conectar" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Conta registrada com sucesso" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Falha no registro da conta" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Por favor, digite sua senha:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Por favor, digite sua senha:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Por favor, digite um novo nome para o grupo\n" +#~ "%s" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>Informação solicitada, por favor, aguarde...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Eu gostaria de adicioná-lo à minha lista de contatos." + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_Nova Mensagem..." +#~ msgstr[1] "_Nova Mensagem..." + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Requisição de Inscrição" +#~ msgstr[1] "Requisição de Inscrição" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Editar Informação da Conta" + +#~ msgid "New message from %s" +#~ msgstr "Nova mensagem de %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Aceitar" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Sala:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Conectar" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>Informação solicitada, por favor, aguarde...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Você quer remover o contato\n" +#~ "%s\n" +#~ "de sua lista de contatos?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Por favor, digite um novo nome para o grupo\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Selecionar" + +# This needs to be done better, could have group_is_unsorted(). +#~ msgid "Unsorted" +#~ msgstr "Desorganizado" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Erro desconhecido" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "Eu gostaria de adicioná-lo à minha lista de contatos." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "Eu gostaria de adicioná-lo à minha lista de contatos." + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Selecionar" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_Conectar..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Conectar" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Qual o apelido que você quer usar para esse contato?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Tópico:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Conta Jabber" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Conversa" + +#~ msgid "List the available accounts" +#~ msgstr "Lista de contas disponíveis" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Qual conta conectar ao iniciar" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "NOME-DA-CONTA" + +#~ msgid "Available accounts:" +#~ msgstr "Contas disponíveis:" + +#~ msgid "[default]" +#~ msgstr "[default]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Não existe conta com o nome ' %s'." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Juntar-se" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "<b>Esperando resposta do servidor...</b>" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[default]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s será adicionado à sua lista de contatos." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "%s será adicionado à sua lista de contatos." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Requisição de Inscrição" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "_Informação do Contato" + +#, fuzzy +#~ msgid "New subscription request from %s" +#~ msgstr "Requisição de Inscrição" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "Você quer remover o contato\n" +#~ "%s\n" +#~ "de sua lista de contatos?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "Você quer remover o contato\n" +#~ "%s\n" +#~ "de sua lista de contatos?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Por favor, digite sua senha:" + +#~ msgid "Remember Password?" +#~ msgstr "Lembrar senha?" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "%s conectou" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Você quer aceitar a solicitação" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "Nome de usuário:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "Site da Web:" + +#~ msgid "Web site:" +#~ msgstr "Site da Web:" + +#~ msgid "_Accept" +#~ msgstr "_Aceitar" + +#~ msgid "_Deny" +#~ msgstr "_Negar" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Favoritos:</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Conta Jabber" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - Editar Grupos de Chats" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Juntar-se" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Não conectar ao iniciar" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Servidor:" + +#~ msgid "_Nickname:" +#~ msgstr "A_pelido:" + +#~ msgid "_Room:" +#~ msgstr "_Sala:" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>Favoritos:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Informação do Cliente" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Favoritos:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "Status" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "Detalhes pessoais" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Inscrever-se" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"small\">Por exemplo: usuario@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Conta Jabber" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "_Adicionar Contato..." + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Chat" + +#~ msgid "Client:" +#~ msgstr "Cliente:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "_Adicionar Contato..." + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Não conectar ao iniciar" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "_Adicionar Contato..." + +#~ msgid "Country:" +#~ msgstr "País:" + +#~ msgid "Decide _Later" +#~ msgstr "Decidir _Depois" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "_Adicionar Contato..." + +#~ msgid "Edit Groups" +#~ msgstr "Editar Grupos" + +#~ msgid "Email:" +#~ msgstr "E-mail:" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "JID" + +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "OS:" +#~ msgstr "SO:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "_Detalhes pessoais" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Re_gistrar..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Procurar..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Gossip - Mensagem Enviada" + +#, fuzzy +#~ msgid "Subscription Request" +#~ msgstr "Requisição de Inscrição" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Qual o apelido que você quer usar para esse contato?" + +#, fuzzy +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Este nome será utilizado para identificá-lo em janelas de chat." + +#, fuzzy +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "Este nome será utilizado para identificá-lo em janelas de chat." + +#~ msgid "Version:" +#~ msgstr "Versão:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "_Conversa" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Qual nome de usuário você quer usar?" + +#, fuzzy +#~ msgid "You are not subscribed to this contact." +#~ msgstr "" +#~ "Você não está inscrito para receber o estado deste contato. Pressione " +#~ "Inscrever-se para receber seu estado." + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Conectar" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "descrição" + +#~ msgid "_Disconnect" +#~ msgstr "_desconectar" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "E-mail:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Adicione o ID de usuário da pessoa para quem quer enviar mensagem de chat." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "P_orta:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Grupo" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "A_pelido:" + +#~ msgid "_Password:" +#~ msgstr "_Senha:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Mensagem de _Status" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "_Remover" + +#~ msgid "_Subscribe" +#~ msgstr "In_screver-se" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Site da Web:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>Configurações da Conta</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>Configurações da Conta</b>" + +#~ msgid "Preset status messages" +#~ msgstr "Mensagem de status presente" + +#~ msgid "Preset status messages." +#~ msgstr "Mensagem de status presente." + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "Conectar" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s será adicionado à sua lista de contatos." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "_ID Jabber do novo contato:" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Por favor, digite sua senha:" + +#~ msgid "Contact Information for %s" +#~ msgstr "Informação de Contato de %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_Informação do Contato" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/Re_nomear contato" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/_Editar grupos" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "_Conversa" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Por favor, digite o novo apelido para o contato\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Editar grupos de %s" + +#~ msgid "Conversation Log" +#~ msgstr "Log da Conversa" + +#~ msgid "Registering account" +#~ msgstr "Registrando conta" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Motivo:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "_Editar favoritos..." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossip - Chat" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Informação solicitada, por favor, aguarde...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"small\">Por exemplo: usuario@jabber.org</span>" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "Connection Details" +#~ msgstr "Detalhes do Registro" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Você já tem uma conta em um servidor Jabber?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Por favor, digite o novo apelido para o contato\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Por favor, digite o novo apelido para o contato\n" +#~ "%s" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Configuração Terminada" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip é um moderno cliente para o sistema de Mensagens Instantâneas " +#~ "Jabber.\n" +#~ "\n" +#~ "Este assistente o ajudará a configurar o gossip e conectá-lo ao seu " +#~ "servidor Jabber favorito.\n" +#~ "\n" +#~ "Para iniciar, clique em \"Proseguir\"." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Para que possa receber notificações de presença do usuário uma " +#~ "solicitação será enviada. Enquanto a solicitação está sendo aprovada, o " +#~ "usuário sempre aparecerá como \"Offline\" em sua lista de contatos." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "Em qual grupo você quer adicionar esse contato?" + +#~ msgid "Jabber ID:" +#~ msgstr "ID Jabber:" + +#~ msgid "Nickname:" +#~ msgstr "Apelido:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "P_orta:" + +#, fuzzy +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "" +#~ "Você não está inscrito para receber o estado deste contato. Pressione " +#~ "Inscrever-se para receber seu estado." + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Registrando conta" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "_Recursos:" + +#~ msgid "Sending request" +#~ msgstr "enviando solicitação" + +#~ msgid "Server:" +#~ msgstr "Servidor:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "Site da Web:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Bem vindo ao Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Qual o sistema de mensagens instantâneas o contato usa?" + +#~ msgid "What is your name?" +#~ msgstr "Como você se chama?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Qual servidor você quer usar?" + +#~ msgid "What username do you use?" +#~ msgstr "Qual nome de usuário você usa?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Qual nome de usuário você quer usar?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Em qual grupo você quer adicionar esse contato?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Gossip já está configurado corretamente em seu sistema.\n" +#~ "Você pode alterar as configurações de sua conta selecionando o menuChat-" +#~ ">Contato..." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Conta Jabber" + +#~ msgid "Your Identity" +#~ msgstr "Sua Identificação" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Não" + +#~ msgid "_Search..." +#~ msgstr "_Procurar..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Sim" + +#~ msgid "Be silent when away" +#~ msgstr "Ficar em silêncio quando longe" + +#~ msgid "Be silent when busy" +#~ msgstr "Ficar em silêncio quando ocupado" + +#~ msgid "Height of main window" +#~ msgstr "Altura da janela principal" + +#~ msgid "The X position of the main window." +#~ msgstr "A posição X da janela principal." + +#~ msgid "The Y position of the main window." +#~ msgstr "A posição Y da janela principal." + +#~ msgid "The width of the main window." +#~ msgstr "A largura da janela principal." + +#~ msgid "Width of the main window" +#~ msgstr "Largura da janela principal" + +#~ msgid "X position of main window" +#~ msgstr "Posição X da janela principal" + +#~ msgid "Y position of main window" +#~ msgstr "Posição Y da janela principal." + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, Cliente de Mensagens Instantâneas" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Ocultar a janela principal." + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "Informação da Cont_a" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Mensagem de Status" + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s desconectou" + +#~ msgid "Available..." +#~ msgstr "Disponível..." + +#~ msgid "Busy..." +#~ msgstr "Ocupado..." + +#~ msgid "Away..." +#~ msgstr "Longe..." + +#~ msgid "Contact _Information" +#~ msgstr "_Informação do Contato" + +#, fuzzy +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Descrição</b>" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "_Juntar-se a Grupo de Chat..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "P_orta:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Informação do Cliente" + +#, fuzzy +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "Solicitando detalhes pessoais, por favor aguarde..." + +#, fuzzy +#~ msgid "Could not open connection" +#~ msgstr "Impossível conectar" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Qual servidor você quer usar?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>Conectar ao servidor</b>" + +#~ msgid "Written by:" +#~ msgstr "Escrito por:" + +#~ msgid "Artwork by:" +#~ msgstr "Arte de:" + +#~ msgid "Translated by:" +#~ msgstr "Traduzido por:" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "Informação da Cont_a" + +#~ msgid "%sChat - %s" +#~ msgstr "%sChat - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Mostrar _Log" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Versão:" + +#~ msgid "View Lo_g" +#~ msgstr "Ver Lo_g" + +#, fuzzy +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - Juntar-se ao Grupo de Chat" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Adicionar contato" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "_Informação do Contato" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - Editar Grupos de Chats" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - Chat" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - Mensagem Enviada" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Detalhes pessoais" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Preferências" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - Mensagem Enviada" + +#, fuzzy +#~ msgid "Personal Details Saved!" +#~ msgstr "Detalhes pessoais" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Qual mensagem de solicitação você quer mandar para %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Tenha certeza que as informações de sua conta estão corretas." + +#~ msgid "%s wants to be notified of your status." +#~ msgstr "%s quer ser notificado de seu status." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Você foi desconectado do servidor. Você quer reconectar?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Tenha certeza que as informações de sua conta estão corretas. O servidor " +#~ "ainda pode estar indisponível no momento." + +#~ msgid "Edit List..." +#~ msgstr "Editar Lista..." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "Ocorreu um erro enquanto conversava com %s." + +#~ msgid "Details:" +#~ msgstr "Detalhes:" + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "Ocorreu um erro enquanto conversava no grupo de chat %s." + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Impossível entrar no grupo de chat %s." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip irá, agora, tentar usar sua conta:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip irá, agora, tentar registrar a conta:" + +#~ msgid "Saving personal details, please wait..." +#~ msgstr "Salvando detalhes pessoais, por favor aguarde..." + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "De:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - Mensagem Recebida" + +#~ msgid "In reply to:" +#~ msgstr "Em resposta a:" + +#~ msgid "To:" +#~ msgstr "Para:" + +#~ msgid "_Reply..." +#~ msgstr "_Responder..." + +#~ msgid "_Send" +#~ msgstr "_Enviar" + +#~ msgid "C_onnect" +#~ msgstr "C_onectar" + +#~ msgid "Connect _Server:" +#~ msgstr "Conectar _Servidor:" + +#~ msgid "_Jabber ID:" +#~ msgstr "ID _Jabber:" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Salas de chat disponíveis</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Informação da sala de chat</b>" + +#~ msgid "Imendio Gossip - Group Chat" +#~ msgstr "Imendio Gossip - Grupo de Chat" + +#~ msgid "N_ickname:" +#~ msgstr "Apel_ido:" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "" +#~ "Pegue um dos favoritos ou digite apelido, servidor e o nome da sala de " +#~ "chat que quer entrar." + +#~ msgid "R_emove" +#~ msgstr "R_emover" + +#~ msgid "_Add" +#~ msgstr "_Adicionar" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "" +#~ "<b>Finding the best server...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>Procurando o melhor servidor...</b>\n" +#~ "Isto levará alguns momentos. Por favor, espere." + +#~ msgid "<b>Personal information</b>" +#~ msgstr "<b>Informação pessoal</b>" + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Mensagem de status presente</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Informação não disponível</i>" + +#~ msgid "Add Another Account" +#~ msgstr "Adicionar outra Conta" + +#~ msgid "Choose a Server" +#~ msgstr "escolha um servidor" + +#~ msgid "Choose from list:" +#~ msgstr "Escolha da lista:" + +#~ msgid "Discover Services" +#~ msgstr "Descubra Serviços" + +#~ msgid "Information about ..." +#~ msgstr "Informação sobre..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "Em qual servidor você tem uma conta Jabber?" + +#~ msgid "Registering Service" +#~ msgstr "Registrando Serviço" + +#~ msgid "Sever Details" +#~ msgstr "Detalhes do Servidor" + +#~ msgid "Sound" +#~ msgstr "Som" + +#~ msgid "" +#~ "This wizard will allow you to configure your account settings for another " +#~ "protocol. " +#~ msgstr "" +#~ "Este assistente o ajudará a configurar sua conta para outro protocolo." + +#~ msgid "Use a different server" +#~ msgstr "User um servidor diferente" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Qual mensagem de solicitação você quer enviar para ... ?" + +#~ msgid "Which protocol would you like to set up? " +#~ msgstr "Qual protocolo você gostaria de configurar?" + +#~ msgid "_AIM" +#~ msgstr "_AIM" + +#~ msgid "_ICQ" +#~ msgstr "_ICQ" + +#~ msgid "_MSN" +#~ msgstr "_MSN" + +#~ msgid "_Yahoo!" +#~ msgstr "_Yahoo!" diff --git a/trunk/po/ru.po b/trunk/po/ru.po new file mode 100644 index 000000000..f4ca78371 --- /dev/null +++ b/trunk/po/ru.po @@ -0,0 +1,2335 @@ +# This is gossip translation file. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Grigory Bakunov <bobuk@justos.org>, 2003, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip 0.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-07-08 23:45+0300\n" +"Last-Translator: Valek Filippov <frob at df dot ru>\n" +"Language-Team: Russian <gnome-cyr@gnome.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Обмен сообщениями" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Обмен сообщениями" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Всегда открывать новую беседу в новом окне." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Тема окна беседы" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Список языков, используемых при проверке орфографии, разделённых запятыми " +"(например «en, fr, ru»)." + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "_Показать список собеседников" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Каталог, используемый для выбора изображений аватаров" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Показывать всплывающее окно когда собеседник доступен" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Включить звуки в состоянии «_ушёл»" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Включить звуки в состоянии «_занят»" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Включить проверку орфографии" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Скрывать главное окно" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Скрывать главное окно." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Открывать новые беседы в новом окне" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Показывать аватары" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Высота главного окна." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Показывать отсутствующих собеседников" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Языки для проверки орфографии" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "Последний каталог, которого выбирались изображения аватаров." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Эта тема используется для отображения диалога в окне беседы." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Использовать графические улыбки" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Использовать звуки" + +#: ../data/empathy.schemas.in.h:22 +#, fuzzy +msgid "Use theme for chat rooms" +msgstr "Войти в комнату" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Конвертировать ли текстовые улыбочки (смайлы) в разговорах в графические " +"изображения." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Проигрывать звук при получении сообщения или нет." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Воспроизводить звуки в состоянии «ушёл» или нет." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Воспроизводить звуки в состоянии «занят» или нет." + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Показывать ли всплывающее окно при появлении собеседника." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Показывать ли аватары собеседников в списке или окнах разговоров." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Показывать недоступных в сети собеседников в списке или нет." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Показывать ли аватары собеседников в списке или окнах разговоров." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Не в сети" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Доступен" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Занят" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Ушёл" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Показать список собеседников" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Группа" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "Собеседники" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "С_крыть список собеседников" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "_Содержание" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "Подключить _близких" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Присоединиться _к..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +#, fuzzy +msgid "Manage Favorites..." +msgstr "Подключить _близких" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Показывать _отсутствующих" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Учётные записи" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Учётные записи" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Добавить собеседника..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Разговор" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "_Содержание" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "Правка" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Отправить сообщение..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "_Личная информация" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Изменить настройки" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Комната" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "Просмотр предыдущих _бесед" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Состояние" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Показать список собеседников" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip -- свободная программа, вы можете распространять и/или модифицировать " +"её на условиях указаных в GNU General Public License опубликованой Free " +"Software Foundation; либо в версии 2 или (по вашему выбору) любой более " +"поздней версии." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Программа Gossip распространяется в рассчёте на то, что будет полезной, " +"однако БЕЗ КАКИХ ЛИБО ГАРАНТИЙ в том числе подразумеваемых гарантий " +"ПОЛЕЗНОСТИ или ПРИГОДНОСТИ ДЛЯ КАКИХ_ЛИБО ЦЕЛЕЙ. Смотрите GNU General Public " +"License." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"Вы должны были получить копию GNU General Public License вместе с программой " +"Gossip. Если этого не произошло, напишите в Фонд Свободного Программного " +"Обеспечения: Free Software Foundation, Inc., 59 Temple Place, Suite 330, " +"Boston, MA 02111-1307 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "Программа быстрогообмена сообщениями для GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"Grigory Bakunov\n" +"Dan Korostelev\n" +"Mikhail Zabaluev\n" +"Валёк Филиппов" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Доступен" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +#, fuzzy +msgid "Enable" +msgstr "Пример" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Учётная запись</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Учётная запись</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Учётные записи" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "Вы удаляете свою учётную запись «%s»! Продолжить?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Любые связанные беседы и комнаты НЕ БУДУТ удалены, если вы продолжите.\n" +"Если вы решите восстановить эту учётную запись позднее, то они снова станут " +"доступны." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Учётная запись</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Учётная запись</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Состояние</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Разговор!" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Имя:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Тема:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Пример: user@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "_Идентификатор:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "_Пароль:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "Ресурс:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Использовать _шифрование (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "Порт:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Сервер:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Отсоединён" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Вставить улыбочку" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "П_роверить правописание слова..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Соединён" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +#, fuzzy +msgid "C_lear" +msgstr "О_чистить" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Разговор" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "Информация о собеседнике" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "_Разговор" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "Приглас_ить" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Вставить _улыбочку" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Введите сообщение о состоянии:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +#, fuzzy +msgid "Invite" +msgstr "Приглас_ить" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Передвинуть вкладку в_лево" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Передвинуть вкладку в_право" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Вас пригласили принять участие в конференции." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "Добавить к _предпочитаемым" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Разговор" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Отсоединить вкладку" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "На след_ующую вкладку" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +#, fuzzy +msgid "_Paste" +msgstr "Дата" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "На пред_ыдущую вкладку" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "_Показать список собеседников" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "В_кладки" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Копировать адрес ссылки" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Открыть ссылку" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Новое сообщение" +msgstr[1] "Новое сообщение" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "Комната для беседы" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Разговор" +msgstr[1] "_Разговор" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Набирает сообщение." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "Собеседники" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Группа" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Добавление собеседника" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "Информация о собеседнике" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Информация о собеседнике" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/Пе_реименовать группу" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Имя файла:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "Введите имя для этой учётной записи" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "_Remove" +msgstr "/_Удалить собеседника" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/_Удалить собеседника" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "/Пригласить в _комнату" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "_Send File..." +msgstr "/Послать _файл..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Выберите файл" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "Посмотреть предыдущие беседы" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Язык" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Внешний вид</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Звук</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Поведение</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Состояние</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Языки</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "<b>Соединение</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Вид</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>В этом списке отображены только языки, для которых установлены " +"словари.</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" +"Аватары - выбраные пользователем изображения показываемые в списке " +"собеседников" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "Тема б_еседы: " + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Показывать уведомления когда собеседники подключаются" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Включить звуки в состоянии «_ушёл»" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Включить звуки в состоянии «_занят»" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Общие" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Уведомления" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Настройки" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Показать _аватары" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Показывать графические _улыбочки" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Показать список собеседников" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Проверка орфографии" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +#, fuzzy +msgid "_Enable spell checking" +msgstr "Включить проверку орфографии" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Открывать новые беседы в отдельном окне" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Воспроизводить звук при получении сообщения" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Со_хранить эту комнату" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Другое сообщение..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Очистить список..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Вы уверены, что хотите очистить список?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"Будут удалены любые пользовательские сообщения, которые были добавлены к " +"списку сообщений о состоянии." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Очистить список" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Введите сообщение о состоянии:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Список сообщений о состоянии" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "Добавить в список сообщений о состоянии" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s отключился" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s подключился" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Классическая" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Простая" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "О_чистить" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Голубая" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Не соединяться при запуске" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr " - Gossip, быстрый обмен сообщениями" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Обмен сообщениями Gossip" + +#~ msgid "Normal" +#~ msgstr "Нормальный" + +#~ msgid "Joining" +#~ msgstr "Соединяется" + +#~ msgid "Active" +#~ msgstr "Активный" + +#~ msgid "Inactive" +#~ msgstr "Неактивный" + +#~ msgid "Unknown" +#~ msgstr "Неизвестный" + +#~ msgid "Error" +#~ msgstr "Ошибочный" + +#, fuzzy +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "Галисийский" +#~ msgstr[1] "Галисийский" + +#, fuzzy +#~ msgid "No role" +#~ msgstr "Нормальный" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Уведомления" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "Выбранный псевдоним уже используется." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "Комната, в которую вы пытаетесь войти, требует пароля." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "" +#~ "Нет ответа от удалённого сервера конференций в течение разумного " +#~ "промежутка времени." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "" +#~ "Не найден сервер конференций, к которому вы пытаетесь присоединиться." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Произошла неизвестная ошибка, проверьте ваши настройки." + +#, fuzzy +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "Войти в комнату" + +#~ msgid "Unavailable" +#~ msgstr "Недоступен" + +#~ msgid "An unknown error occurred." +#~ msgstr "Произошла неизвестная ошибка." + +#~ msgid "Connection refused." +#~ msgstr "Соединение отвергнуто." + +#~ msgid "Server address could not be resolved." +#~ msgstr "Не найден адрес сервера." + +#~ msgid "Connection timed out." +#~ msgstr "Время соединения истекло." + +#~ msgid "Authentication failed." +#~ msgstr "Аутентификация не удалась." + +#~ msgid "The username you are trying already exists." +#~ msgstr "Уже есть пользователь с таким именем." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "Выбранное имя пользователя некорректно." + +#~ msgid "This feature is unavailable." +#~ msgstr "Эта возможность недоступна." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Эта возможность не санкционирована." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "Возникла неожиданная ошибка в протоколе." + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Создать учётную запись" + +#~ msgid "Home" +#~ msgstr "Дом" + +#~ msgid "Couldn't send message!" +#~ msgstr "Не удалось отправить сообщение!" + +#~ msgid "Connection could not be opened" +#~ msgstr "Ошибка установления соединения" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Эта возможность недоступна." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Регистрация" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Эта возможность не санкционирована." + +#~ msgid "Stop" +#~ msgstr "Остановить" + +#~ msgid "Disconnect" +#~ msgstr "Отсоединиться" + +#~ msgid "Connect" +#~ msgstr "Соединение" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Не удалось зарегистрировать новые параметры учётной записи" + +#, fuzzy +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "" +#~ "Нельзя использовать параметр \"--no-connect\" вместе с параметром \"--" +#~ "account\"" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Не удалось зарегистрировать новые параметры учётной записи" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Введите пароль для учётной записи:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Введите пароль для учётной записи:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Введите новый псевдоним для группы:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Нет информации об этом собеседнике." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Информация запрошена, подождите..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Я хотел бы добавить Вас в свой список собеседников." + +#~ msgid "To summarize:" +#~ msgstr "Обобщить:" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "Новое сообщение" +#~ msgstr[1] "Новое сообщение" + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Запрос на подписку" +#~ msgstr[1] "Запрос на подписку" + +#, fuzzy +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "Запрос на передачу файла" +#~ msgstr[1] "Запрос на передачу файла" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "Не удалось отправить сообщение!" +#~ msgstr[1] "Не удалось отправить сообщение!" + +#, fuzzy +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "Ошибочный" +#~ msgstr[1] "Ошибочный" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Если вы выйдете, вы потеряете все непрочитанные сообщения." + +#~ msgid "Edit Account _Details" +#~ msgstr "Редактировать информацию об учётной записи" + +#~ msgid "Click to enlarge" +#~ msgstr "Щёлкните для увеличения" + +#~ msgid "Word" +#~ msgstr "Слово" + +#~ msgid "New message from %s" +#~ msgstr "Новое сообщение от %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "Ваше приглашение было отклонено" + +#~ msgid "Accept" +#~ msgstr "Подтвердить" + +#~ msgid "Decline" +#~ msgstr "Отклонить" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Имя:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Комната" + +#~ msgid "Auto Connect" +#~ msgstr "Автоматическое соединение" + +#~ msgid "Information requested..." +#~ msgstr "Информация запрошена..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "Вы хотите удалить этого собеседника из вашего списка?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Введите новый псевдоним для группы:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Выбрать" + +#~ msgid "Unsorted" +#~ msgstr "Разное" + +#~ msgid "New file transfer request from %s" +#~ msgstr "Запрос о передаче файла от %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "Передача файлов не поддерживается обеими сторонами." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Предложение о передаче файла отклонено." + +#~ msgid "The other user decided not to continue." +#~ msgstr "Собеседник решил прервать передачу." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Во время передачи файлов произошла неизвестная ошибка." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s желает послать вам файл." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Кто-то желает переслать вам файл." + +#~ msgid "Select a file" +#~ msgstr "Выберите файл" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Соединяется" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Остановить соединение" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "%s приглашён присоединиться к беседе." + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "Тема была установлена %s" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Какой псевдоним вы хотите использовать для этого собеседника?" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "Тема была установлена %s" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "Тема была установлена %s" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Тема:" + +#~ msgid "Account" +#~ msgstr "Учётная запись" + +#~ msgid "Conversation With" +#~ msgstr "Разговор с" + +#~ msgid "Date" +#~ msgstr "Дата" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "Разрешить одновременный запуск нескольких копий программы" + +#~ msgid "List the available accounts" +#~ msgstr "Список учётных записей" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Учётная запись которая используется при старте" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "ACCOUNT-NAME" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "" +#~ "Нельзя использовать параметр \"--no-connect\" вместе с параметром \"--" +#~ "account\"" + +#~ msgid "No accounts available." +#~ msgstr "Нет учётных записей." + +#~ msgid "Available accounts:" +#~ msgstr "Доступные учётные записи:" + +#~ msgid "[default]" +#~ msgstr "[По умолчанию]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Нет учётной записи с именем '%s'." + +#~ msgid "Join" +#~ msgstr "Войти" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Дата" + +#~ msgid "Chat Rooms" +#~ msgstr "Комнаты" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Информация запрошена, подождите..." + +#~ msgid "Default" +#~ msgstr "По умолчанию" + +#~ msgid "Chat!" +#~ msgstr "Разговор!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s просит добавить себя в ваш список собеседников." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Кто-то просит добавить себя в ваш список собеседников." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Запрос на подписку" + +#~ msgid "Show" +#~ msgstr "Показать" + +#~ msgid "Contact Information" +#~ msgstr "Информация о собеседнике" + +#~ msgid "Subject: %s" +#~ msgstr "Тема: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Предложения по замене" + +#~ msgid "New subscription request from %s" +#~ msgstr "Запрос на подписку от %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Вы хотите добавить этого собеседника в список?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Вы хотите добавить %s в ваш список собеседников?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Введите пароль для учётной записи %s:" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "Подключение с: %s" + +#~ msgid "Remember Password?" +#~ msgstr "Запомнить пароль?" + +#~ msgid "Could not display the help contents." +#~ msgstr "Не удалось отобразить содержимое справки." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Выберите изображение вашего аватара" + +#~ msgid "No Image" +#~ msgstr "Нет изображения" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Сервер не отвечает." + +#~ msgid "Try again later." +#~ msgstr "Попробуйте позже." + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Разговор" + +#~ msgid "Contact goes offline" +#~ msgstr "Собеседник отключается" + +#~ msgid "Contact goes online" +#~ msgstr "Собеседник подключается" + +#~ msgid "Contact ID:" +#~ msgstr "Идентификатор собеседника:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Принять этот файл?" + +#~ msgid "File Transfer Request" +#~ msgstr "Запрос на передачу файла" + +#~ msgid "File name:" +#~ msgstr "Имя файла:" + +#~ msgid "File size:" +#~ msgstr "Размер:" + +#~ msgid "Not supported yet" +#~ msgstr "Пока не поддерживается" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Вам хотят переслать этот файл:" + +#~ msgid "Web site:" +#~ msgstr "Вебсайт:" + +#~ msgid "_Accept" +#~ msgstr "_Подтвердить" + +#~ msgid "_Deny" +#~ msgstr "_Отвергнуть" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>О программе</b>" + +#~ msgid "Account:" +#~ msgstr "Учётная запись:" + +#, fuzzy +#~ msgid "Browse:" +#~ msgstr "Фарерский" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Правка комнаты" + +#~ msgid "Group Chat" +#~ msgstr "Разговор" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "Присоединиться _к..." + +#~ msgid "Join room on start_up" +#~ msgstr "Входить при _запуске" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "" +#~ "Входить в эту комнату после запуска Gossip и установления соединения." + +#, fuzzy +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Управление переговорными комнатами" + +#~ msgid "N_ame:" +#~ msgstr "_Имя:" + +#~ msgid "S_erver:" +#~ msgstr "_Сервер:" + +#~ msgid "_Nickname:" +#~ msgstr "_Псевдоним:" + +#~ msgid "_Room:" +#~ msgstr "_Комната:" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>О программе</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Информация об используемой программе</b>" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>О программе</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Языки</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Личная информация</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Соединение</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Пример: Mikael или user@server.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Учётная запись:" + +#~ msgid "Add Contact" +#~ msgstr "_Добавить собеседника" + +#, fuzzy +#~ msgid "Alia_s:" +#~ msgstr "Прозвище:" + +#~ msgid "Avatar:" +#~ msgstr "Аватар:" + +#~ msgid "Ch_at" +#~ msgstr "_Разговор" + +#~ msgid "Client:" +#~ msgstr "Программа:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "Собеседники" + +#~ msgid "Connect on S_tartup" +#~ msgstr "Присоединяться при _запуске" + +#~ msgid "Contacts" +#~ msgstr "Собеседники" + +#~ msgid "Country:" +#~ msgstr "Страна:" + +#~ msgid "Decide _Later" +#~ msgstr "Решить _позже" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "_Добавить собеседника" + +#~ msgid "Edit Groups" +#~ msgstr "Правка групп" + +#~ msgid "Email:" +#~ msgstr "Электронная почта:" + +#~ msgid "ID:" +#~ msgstr "ID:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "Вы можете отложить решение до следующего запуска приложения." + +#~ msgid "Name:" +#~ msgstr "Имя:" + +#~ msgid "OS:" +#~ msgstr "Операционная система:" + +#~ msgid "Personal Details" +#~ msgstr "Личная информация" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Регистрация" + +#~ msgid "Search" +#~ msgstr "Поиск" + +#~ msgid "Spell Checker" +#~ msgstr "Проверка орфографии" + +#~ msgid "Subscription Request" +#~ msgstr "Запрос на подписку" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Предложить слово:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Это фильтр для списка собеседников. Можно использовать части имен или " +#~ "идентификаторов, например \"jabber.org\" для поиска всех собеседников, " +#~ "использующих этот сервер." + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Этим именем будет называться собеседник в вашем списке." + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "" +#~ "Это имя будет использовано для вашей идентификации в окнах разговоров." + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Это имя будет использовано для вашей идентификации когда новые " +#~ "собеседники просматривают информацию о вас." + +#~ msgid "Use system pro_xy" +#~ msgstr "Использовать системный про_кси сервер" + +#~ msgid "Version:" +#~ msgstr "Версия:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Посмотреть предыдущие беседы" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Какую учётную запись вы хотите использовать?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "" +#~ "Вы не подписаны на получение информации о состоянии этого собеседника." + +#~ msgid "_Connect" +#~ msgstr "_Соединиться" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Описание:" + +#~ msgid "_Disconnect" +#~ msgstr "_Отсоединиться" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Электронная почта:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Введите имя или идентификатор пользователя, которому вы хотите послать " +#~ "сообщение:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "Порт:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "_Имя:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Группа:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Псевдоним:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Пароль:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Новое сообщение" + +#~ msgid "_Subscribe" +#~ msgstr "_Подписаться" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Вебсайт:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "Редактировать информацию об учётной записи" + +#~ msgid "Preset status messages" +#~ msgstr "Предустановленные сообщения о состоянии" + +#~ msgid "Preset status messages." +#~ msgstr "Предустановленные сообщения о состоянии." + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "Возможно, вы пытаетесь подсоединиться к другому порту." + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "Возможно, сервис сейчас не действует." + +#~ msgid "Check your connection details." +#~ msgstr "Проверьте настройки вашего соединения." + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "Возможно, сервис не активен на данном сервере." + +#~ msgid "Check your username and password are correct." +#~ msgstr "Проверьте правильность имени пользователя и пароля." + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s будет добавлен в список собеседников." + +#~ msgid "%s ID of new contact:" +#~ msgstr "%s ID нового собеседника:" + +#~ msgid "Example: %s" +#~ msgstr "Пример: %s" + +#~ msgid "Show accounts and pending connections" +#~ msgstr "Показать учётные записи и ожидающие соединения" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "Не создано ни одной учётной записи системы обмена сообщениями!" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "" +#~ "Далее вам будет представлен диалог, где нужно заполнить детали вашей " +#~ "учётной записи." + +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "" +#~ "Введите приветствие для:\n" +#~ "%s" + +#~ msgid "Favourite" +#~ msgstr "Фаворит" + +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_Информация о собеседнике" + +#~ msgid "/Re_name Contact" +#~ msgstr "/Пе_реименовать собеседника" + +#~ msgid "/_Edit Groups" +#~ msgstr "/_Правка групп" + +#~ msgid "/_View Previous Conversations" +#~ msgstr "/Просмотреть предыд_ущие беседы" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Введите новый псевдоним для собеседника\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Редактирование групп для %s" + +#~ msgid "Conversation Log" +#~ msgstr "Журнал разговоров" + +#~ msgid "Registering account" +#~ msgstr "Регистрация учётной записи" + +#~ msgid "Add to _favourites" +#~ msgstr "Добавить к предпочитаемым" + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "" +#~ "Настройте ваш псевдоним, сервер и комнату, к которым вы желаете " +#~ "присоединиться." + +#~ msgid "Edit your chat room details:" +#~ msgstr "Редактировать информацию о комнате:" + +#~ msgid "Na_me:" +#~ msgstr "Имя:" + +#~ msgid "New Chat Room" +#~ msgstr "Создать комнату" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "" +#~ "Выберите сохранённую комнату из списка и нажмите на «Войти в комнату» для " +#~ "начала беседы." + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Запрос информации, подождите...</b>" + +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Пример:</span>" + +#~ msgid "Account Name" +#~ msgstr "Имя учётной записи" + +#~ msgid "Connection Details" +#~ msgstr "Настройки соединения" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "У вас уже есть учётная запись на сервере?" + +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "Введите порт, используемый для соединения в данной учётной записи" + +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "Введите сервер, используемый для соединения в данной учётной записи" + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Введите идентификатор пользователя:" + +#~ msgid "Enter your real name here" +#~ msgstr "Введите ваше настоящее имя" + +#~ msgid "Finished" +#~ msgstr "Завершено" + +#~ msgid "For increased security, enable this option" +#~ msgstr "Для большей безопасности, включите этот параметр" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip это современный клиент системы обмена сообщениями Jabber.\n" +#~ "\n" +#~ "Сейчас мы поможем вам настроить Gossip для соединения с вашим сервером " +#~ "Jabber.\n" +#~ "\n" +#~ "Нажмите кнопку «Далее», чтобы начать." + +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option" +#~ msgstr "" +#~ "Если в вашей сети есть другая машина-прокси, которая перенаправляет ваше " +#~ "соединение в интернет и вы хотите использовать её, включите этот параметр." + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "Здесь можно задать особенные настройки соединения, например, другой " +#~ "сервер или порт:" + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Чтобы получать информацию о присутствии пользователя, должен быть " +#~ "отправлен запрос. Пока запрос не подтвержден, пользователь в вашем списке " +#~ "собеседников всё время будет в состоянии «Выключен»." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "В какую группу поместить этого собеседника?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "" +#~ "Leave this blank if you don't want your password stored on a public " +#~ "machine. If you decide to do this, you will be prompted each time you " +#~ "connect for a password" +#~ msgstr "" +#~ "Оставьте пустым, если не хотите чтобы ваш пароль сохранялся на общей " +#~ "машине. Пароль будет запрашиваться каждый раз при подключении" + +#~ msgid "Nickname:" +#~ msgstr "Псевдоним:" + +#~ msgid "Port:" +#~ msgstr "Порт:" + +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "" +#~ "Нажмите «Подписаться» для получения информации о статусе собеседников" + +#~ msgid "Registering Account" +#~ msgstr "Регистрация учётной записи" + +#~ msgid "Resource:" +#~ msgstr "Ресурс:" + +#~ msgid "Sending request" +#~ msgstr "Отправка запроса" + +#~ msgid "Server:" +#~ msgstr "Сервер:" + +#~ msgid "Web Site:" +#~ msgstr "Веб-страница:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Добро пожаловать в Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Какая система обмена сообщениями используется этим собеседником?" + +#~ msgid "What is your name?" +#~ msgstr "Как вас зовут?" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "Каким именем вы хотите назвать эту учётную запись?\n" +#~ "\n" +#~ "Например, можно назвать её именем провайдера услуг, скажем, <b>Google</b>." + +#~ msgid "What password do you want to use?" +#~ msgstr "Какой пароль вы хотите использовать?" + +#~ msgid "What username do you use?" +#~ msgstr "Какое имя пользователя вы используете?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Какое имя пользователя вы хотите использовать?" + +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "В какую учётную запись поместить этого собеседника?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Вы можете изменить параметры вашей учётной записи, выбрав пункт меню " +#~ "Правка->Учётные записи." + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "" +#~ "Нужно задать имя для соединения, например, <b>Дом</b> или <b>Работа</b>." + +#~ msgid "Your Account" +#~ msgstr "Ваша учётная запись" + +#~ msgid "Your Identity" +#~ msgstr "Ваши данные" + +#~ msgid "Your new account has now been set up." +#~ msgstr "Ваша новая учётная запись установлена." + +#~ msgid "_Forget" +#~ msgstr "_Забыть" + +#~ msgid "_Group Chat" +#~ msgstr "_Групповая беседа" + +#~ msgid "_No" +#~ msgstr "_Нет" + +#~ msgid "_Search..." +#~ msgstr "_Найти..." + +#~ msgid "_Yes" +#~ msgstr "_Да" + +#~ msgid "Contact Information for %s" +#~ msgstr "Информация о собеседнике %s" + +#~ msgid "Respond" +#~ msgstr "Ответил" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - комнаты" + +#~ msgid "Be silent when away" +#~ msgstr "Не воспроизводить звуки в состоянии «ушёл»" + +#~ msgid "Be silent when busy" +#~ msgstr "Не воспроизводить звуки в состоянии «занят»" + +#~ msgid "Height of main window" +#~ msgstr "Высота главного окна" + +#~ msgid "The X position of the main window." +#~ msgstr "Позиция главного окна по оси X" + +#~ msgid "The Y position of the main window." +#~ msgstr "Позиция главного окна по оси Y" + +#~ msgid "The width of the main window." +#~ msgstr "Ширина главного окна." + +#~ msgid "Whether spell checking should be turned on." +#~ msgstr "Проверять орфографию или нет" + +#~ msgid "Width of the main window" +#~ msgstr "Ширина главного окна" + +#~ msgid "X position of main window" +#~ msgstr "Позиция главного окна по оси X" + +#~ msgid "Y position of main window" +#~ msgstr "Позиция главного окна по оси Y" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, программа для обмена сообщениями" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Со_хранить эту комнату" + +#~ msgid "Requested Information" +#~ msgstr "Запрошенная информация" + +#, fuzzy +#~ msgid "/_Invite to Chat Conference" +#~ msgstr "/Пригласить на _конференцию" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "_Отправить сообщение..." + +#~ msgid "%s has gone offline" +#~ msgstr "%s отключился" + +#~ msgid "Contact _Information" +#~ msgstr "_Информация о собеседнике" + +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Звук</b>" + +#~ msgid "Check spelling while I _type" +#~ msgstr "_Автоматически проверять орфографию" + +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - учетные записи" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "_Зайти в комнату..." + +#~ msgid "Por_t:" +#~ msgstr "Пор_т:" + +#~ msgid "Requested information." +#~ msgstr "Информация запрошена." + +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "Получение личной информации, пожалуйста, подождите..." + +#~ msgid "Written by:" +#~ msgstr "Написано:" + +#~ msgid "Artwork by:" +#~ msgstr "Графика:" + +#~ msgid "Translated by:" +#~ msgstr "Перевод:" + +#~ msgid "%sChat - %s" +#~ msgstr "%sРазговор - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Показать _журнал" + +#~ msgid "Afrikaans" +#~ msgstr "Африкаанс" + +#~ msgid "Amharic" +#~ msgstr "Амхарский" + +#~ msgid "Arabic" +#~ msgstr "Арабский" + +#~ msgid "Azerbaijani" +#~ msgstr "Азербайджанский" + +#~ msgid "Belarusian" +#~ msgstr "Белорусский" + +#~ msgid "Bulgarian" +#~ msgstr "Болгарский" + +#~ msgid "Bengali" +#~ msgstr "Бенгальский" + +#~ msgid "Breton" +#~ msgstr "Бретонский" + +#~ msgid "Bosnian" +#~ msgstr "Боснийский" + +#~ msgid "Catalan" +#~ msgstr "Каталанский" + +#~ msgid "Czech" +#~ msgstr "Чешский" + +#~ msgid "Welsh" +#~ msgstr "Уэльсский" + +#~ msgid "Danish" +#~ msgstr "Датский" + +#~ msgid "German" +#~ msgstr "Немецкий" + +#~ msgid "German (Austria)" +#~ msgstr "Немецкий (Австрия)" + +#~ msgid "German (Germany)" +#~ msgstr "Немецкий (Германия)" + +#~ msgid "German (Swiss)" +#~ msgstr "Немецкий (Швейцария)" + +#~ msgid "Greek" +#~ msgstr "Греческий" + +#~ msgid "English" +#~ msgstr "Английский" + +#~ msgid "English (Canadian)" +#~ msgstr "Английский (Канада)" + +#~ msgid "English (British)" +#~ msgstr "Английский (Великобритания)" + +#~ msgid "English (American)" +#~ msgstr "Английский (США)" + +#~ msgid "Esperanto" +#~ msgstr "Эсперанто" + +#~ msgid "Spanish" +#~ msgstr "Испанский" + +#~ msgid "Estonian" +#~ msgstr "Эстонский" + +#~ msgid "Basque" +#~ msgstr "Баскский" + +#~ msgid "Persian" +#~ msgstr "Персидский" + +#~ msgid "Finnish" +#~ msgstr "Финский" + +#~ msgid "French" +#~ msgstr "Французский" + +#~ msgid "French (France)" +#~ msgstr "Французский (Франция)" + +#~ msgid "French (Swiss)" +#~ msgstr "Французский (Швейцария)" + +#~ msgid "Irish Gaelic" +#~ msgstr "Ирландский" + +#~ msgid "Scots Gaelic" +#~ msgstr "Шотладский" + +#~ msgid "Gujarati" +#~ msgstr "Гуджарати" + +#~ msgid "Manx Gaelic" +#~ msgstr "Мэнский" + +#~ msgid "Hebrew" +#~ msgstr "Иврит" + +#~ msgid "Hindi" +#~ msgstr "Хинди" + +#~ msgid "Croatian" +#~ msgstr "Хорватский" + +#~ msgid "Hungarian" +#~ msgstr "Венгерский" + +#~ msgid "Indonesian" +#~ msgstr "Индонезийский" + +#~ msgid "Icelandic" +#~ msgstr "Исландский" + +#~ msgid "Italian" +#~ msgstr "Итальянский" + +#~ msgid "Japanese" +#~ msgstr "Японский" + +#~ msgid "Georgian" +#~ msgstr "Грузинский" + +#~ msgid "Kannada" +#~ msgstr "Каннада" + +#~ msgid "Korean" +#~ msgstr "Корейский" + +#~ msgid "Kurdish" +#~ msgstr "Курдский" + +#~ msgid "Cornish" +#~ msgstr "Корнийский" + +#~ msgid "Limburgish" +#~ msgstr "Лимбургский" + +#~ msgid "Lithuanian" +#~ msgstr "Литовский" + +#~ msgid "Latvian" +#~ msgstr "Латвийский" + +#~ msgid "Maori" +#~ msgstr "Маори" + +#~ msgid "Macedonian" +#~ msgstr "Македонский" + +#~ msgid "Malayalam" +#~ msgstr "Малайялам" + +#~ msgid "Mongolian" +#~ msgstr "Монгольский" + +#~ msgid "Marathi" +#~ msgstr "Маратхи" + +#~ msgid "Malay" +#~ msgstr "Малайский" + +#~ msgid "Norwegian (Bokmal)" +#~ msgstr "Норвежский (Букмол)" + +#~ msgid "Nepali" +#~ msgstr "Непальский" + +#~ msgid "Dutch" +#~ msgstr "Датский" + +#~ msgid "Norwegian" +#~ msgstr "Норвежский" + +#~ msgid "Norwegian (Nynorsk)" +#~ msgstr "Норвежский (Нюнорск)" + +#~ msgid "Oriya" +#~ msgstr "Ория" + +#~ msgid "Punjabi" +#~ msgstr "Пенджабский" + +#~ msgid "Polish" +#~ msgstr "Польский" + +#~ msgid "Portuguese" +#~ msgstr "Португальский" + +#~ msgid "Portuguese (Portugal)" +#~ msgstr "Португальский (Португалия)" + +#~ msgid "Portuguese (Brazil)" +#~ msgstr "Португальский (Бразилия)" + +#~ msgid "Romanian" +#~ msgstr "Румынский" + +#~ msgid "Russian" +#~ msgstr "Русский" + +#~ msgid "Kinyarwanda" +#~ msgstr "Киньяруанда" + +#~ msgid "Slovak" +#~ msgstr "Словацкий" + +#~ msgid "Slovenian" +#~ msgstr "Словенский" + +#~ msgid "Albanian" +#~ msgstr "Албанский" + +#~ msgid "Serbian" +#~ msgstr "Сербский" + +#~ msgid "Swedish" +#~ msgstr "Шведский" + +#~ msgid "Tamil" +#~ msgstr "Тамильский" + +#~ msgid "Telugu" +#~ msgstr "Телугу" + +#~ msgid "Thai" +#~ msgstr "Тайский" + +#~ msgid "Turkmen" +#~ msgstr "Туркменский" + +#~ msgid "Turkish" +#~ msgstr "Турецкий" + +#~ msgid "Ukrainian" +#~ msgstr "Украинский" + +#~ msgid "Vietnamese" +#~ msgstr "Вьетнамский" + +#~ msgid "Walloon" +#~ msgstr "Валлонский" + +#~ msgid "Xhosa" +#~ msgstr "Хоса" + +#~ msgid "Yiddish" +#~ msgstr "Идиш" + +#~ msgid "Chinese Simplified" +#~ msgstr "Китайский упрощенный" + +#~ msgid "Chinese Traditional" +#~ msgstr "Китайский традиционный" + +#~ msgid "View Lo_g" +#~ msgstr "Просмотреть _журнал" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - совместная беседа" + +#~ msgid "Gossip - New Chatroom" +#~ msgstr "Gossip - новая комната" + +#~ msgid "Status:" +#~ msgstr "Состояние:" + +#~ msgid "Gossip - Add contact" +#~ msgstr "Gossip - добавление собеседника" + +#~ msgid "Gossip - Contact Information" +#~ msgstr "Gossip - информация о собеседнике" + +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - правка групп" + +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - новая учётная запись" + +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - новое сообщение" + +#~ msgid "Gossip - Personal Details" +#~ msgstr "Gossip - личная информация" + +#~ msgid "Gossip - Preferences" +#~ msgstr "Gossip - параметры" + +#~ msgid "Gossip - Spell Checker" +#~ msgstr "Gossip - проверка орфографии" + +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - статус" diff --git a/trunk/po/sq.po b/trunk/po/sq.po new file mode 100644 index 000000000..787d64b94 --- /dev/null +++ b/trunk/po/sq.po @@ -0,0 +1,1347 @@ +# translation of gossip.HEAD.po to Albanian +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Laurent Dhima <laurenti@alblinux.net>, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip.HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-07-05 19:23+0200\n" +"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n" +"Language-Team: Albanian <gnome-albanian-perkthyesit@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Instant Messenger" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Instant Messenger" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Fshih dritaren qendrore" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Fshih dritaren qendrore." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "Shfaq kontaktet jo në linjë" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Lartësia e dritares kryesore." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Shfaq kontaktet jo në linjë" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Përdor smileys grafike" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Përdor tingujt njoftues" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "" + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "" + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Jashtë linje" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Në dispozicion" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "I zënë" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Nuk jam këtu" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "Shfaq kontaktet jo në linjë" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "Shfaq kontaktet jo në linjë" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "Shfaq kontaktet jo në linjë" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Lidhu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Prano" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Prano" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Chat" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Lidhu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Preferimet" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Gjendja" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, Klient për Mesazhe direkte" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "Laurent Dhima <laurenti@alblinux.net>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Në dispozicion" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Përshkrimi</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Përshkrimi</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Përshkrimi</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Përshkrimi</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "Gjendja" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Bisedë në linjë" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +#, fuzzy +msgid "Imendio " +msgstr "Gossip" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Emri:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "Fjalëkalimi:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "_Fjalëkalimi:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Serveri:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "I shkëputur" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "I lidhur" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "P_astro" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Bisedë në linjë" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "<b>Përshkrimi</b>" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Bisedë në linjë" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +msgid "Invitation _message:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Lëviz skedën _majtas" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Lëviz skedën _djathtas" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Shkëpute skedën" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "Skeda në _Vazhdim" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "Skeda _Paraardhëse" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "Shfaq kontaktet jo në linjë" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Skedat" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Kopjo adresën e lidhjes" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Hap adresën" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Mesazh i ri nga %s" +msgstr[1] "Mesazh i ri nga %s" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Bisedë në linjë" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "Lidhu" +msgstr[1] "Lidhu" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Duke shkruar një mesazh." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "Shfaq kontaktet jo në linjë" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "_Chat" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "<b>Përshkrimi</b>" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "<b>Përshkrimi</b>" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "Emri:" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Përdoruesi:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "_Remove" +msgstr "_Hiq" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "_Hiq" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Bisedë në linjë" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Zgjidh" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Paraqitja" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Përshkrimi</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Përshkrimi</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Gjendja" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "Lidhu" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Përshkrimi</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Përdor tingujt njoftues" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Preferimet" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "Shfaq kontaktet jo në linjë" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "P_astro" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "P_astro" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Gossip, Klient për Mesazhe direkte" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Gossip, Klient për Mesazhe direkte" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "P_astro" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Instant Messenger" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Instant Messenger" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Gabim i panjohur" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Përdor tingujt njoftues" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Gabim i panjohur" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Në dispozicion" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Gabim i panjohur" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "I lidhur" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "I lidhur" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Shteti:" + +#~ msgid "Home" +#~ msgstr "Shtëpi" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Përshkrimi" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Shkëputu" + +#~ msgid "Connect" +#~ msgstr "Lidhu" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Shkruani fjalëkalimin tuaj" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Shkruani fjalëkalimin tuaj" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "Shkruani fjalëkalimin tuaj" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "Mesazh i ri nga %s" +#~ msgstr[1] "Mesazh i ri nga %s" + +#~ msgid "New message from %s" +#~ msgstr "Mesazh i ri nga %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Prano" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Emri:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Bisedë në linjë" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Lidhu" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "I lidhur" + +#~ msgid "Select" +#~ msgstr "Zgjidh" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Gabim i panjohur" + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Zgjidh" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Lidhu" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Lidhu" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Bisedë në linjë" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Bisedë në linjë" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s do të shtohet tek lista juaj e kontakteve." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "%s do të shtohet tek lista juaj e kontakteve." + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "<b>Përshkrimi</b>" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "%s do të shtohet tek lista juaj e kontakteve." + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "%s do të shtohet tek lista juaj e kontakteve." + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Shkruani fjalëkalimin tuaj" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Bisedë në linjë" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "Përdoruesi:" + +#~ msgid "_Accept" +#~ msgstr "_Prano" + +#~ msgid "_Deny" +#~ msgstr "_Moho" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Përshkrimi</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Shteti:" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Emri:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Serveri:" + +#~ msgid "_Nickname:" +#~ msgstr "_Pseudonimi:" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Përshkrimi</b>" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "Gjendja" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "Gjendja" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "Lidhu" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Shteti:" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "Shfaq kontaktet jo në linjë" + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Bisedë në linjë" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "Shfaq kontaktet jo në linjë" + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "I lidhur" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "Shfaq kontaktet jo në linjë" + +#~ msgid "Country:" +#~ msgstr "Shteti:" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "Shfaq kontaktet jo në linjë" + +#~ msgid "Email:" +#~ msgstr "Email:" + +#~ msgid "Name:" +#~ msgstr "Emri:" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Përshkrimi" + +#~ msgid "Version:" +#~ msgstr "Versioni:" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Çfarë kërkese dëshironi t'i dërgoni %s?" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Lidhu" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Përshkrimi" + +#~ msgid "_Disconnect" +#~ msgstr "_Shkëputu" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Email:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Shkruaj ID e përdoruesit të personit të cilit dëshironi t'i dërgoni " +#~ "mesazh chat." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Fjalëkalimi:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Emri:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "_Chat" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Pseudonimi:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "Fjalëkalimi:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Mesazh i ri nga %s" + +#~ msgid "_Subscribe" +#~ msgstr "_Abonohu" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s do të shtohet tek lista juaj e kontakteve." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "Shfaq kontaktet jo në linjë" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Shkruani fjalëkalimin tuaj" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "<b>Përshkrimi</b>" + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Emri:" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "Server:" +#~ msgstr "Serveri:" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Çfarë kërkese dëshironi t'i dërgoni %s?" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Jo" + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Po" + +#~ msgid "Height of main window" +#~ msgstr "Lartësia e dritares qendrore" + +#~ msgid "The X position of the main window." +#~ msgstr "Pozicioni X i dritares qendrore." + +#~ msgid "The Y position of the main window." +#~ msgstr "Pozicioni Y i dritares qendrore." + +#~ msgid "The width of the main window." +#~ msgstr "Gjerësia e dritares kryesore." + +#~ msgid "Width of the main window" +#~ msgstr "Gjerësia e dritares qendrore" + +#~ msgid "X position of main window" +#~ msgstr "Pozicioni X i dritares qendrore" + +#~ msgid "Y position of main window" +#~ msgstr "Pozicioni Y i dritares qendrore" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, Klient për Mesazhe direkte" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Fshih dritaren qendrore." + +#~ msgid "Available..." +#~ msgstr "Në dispozicion..." + +#~ msgid "Busy..." +#~ msgstr "I zënë..." + +#~ msgid "Away..." +#~ msgstr "Nuk jam këtu..." + +#, fuzzy +#~ msgid "Could not open connection" +#~ msgstr "E pamundur lidhja" + +#~ msgid "Written by:" +#~ msgstr "Shkruar nga:" + +#~ msgid "Artwork by:" +#~ msgstr "Artwork nga:" + +#~ msgid "Translated by:" +#~ msgstr "Përkthyer nga:" + +#~ msgid "%sChat - %s" +#~ msgstr "%sChat - %s" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Versioni:" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Preferimet" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Sigurohu që ke dhënë informacionet korrekte të llogarisë tuaj." + +#~ msgid "%s wants to be notified of your status." +#~ msgstr "%s dëshiron të njoftohet mbi gjendjen tuaj." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Nuk jeni i lidhur me server-in. Dëshironi të rilidheni?" + +#~ msgid "Edit List..." +#~ msgstr "Ndrysho listën..." + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Nga:" + +#~ msgid "To:" +#~ msgstr "Për:" + +#~ msgid "_Send" +#~ msgstr "_Dërgo" + +#~ msgid "C_onnect" +#~ msgstr "Li_dhu" + +#, fuzzy +#~ msgid "Connect _Server:" +#~ msgstr "_Serveri:" + +#, fuzzy +#~ msgid "_Jabber ID:" +#~ msgstr "Jabber" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "_Add" +#~ msgstr "_Shto" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sound" +#~ msgstr "Zëri" diff --git a/trunk/po/sr.po b/trunk/po/sr.po new file mode 100644 index 000000000..58a2ba3b8 --- /dev/null +++ b/trunk/po/sr.po @@ -0,0 +1,2314 @@ +# Serbian translation of gossip +# Courtesy of Prevod.org team (http://prevod.org/) -- 2003, 2004. +# +# This file is distributed under the same license as the gossip package. +# +# Maintainer: Дејан Матијевић <dejan@ns.sympatico.ca> +# +msgid "" +msgstr "" +"Project-Id-Version: gossip\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-02-27 23:05+0100\n" +"Last-Translator: Данило Шеган <danilo@prevod.org>\n" +"Language-Team: Serbian (sr) <serbiangnome-lista@nongnu.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Брзи гласник" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Брзи гласник" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +#, fuzzy +msgid "Chat window theme" +msgstr "Ћаскај са:" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Додај у свој списак другара" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Искључи звук када сте _одсутни" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Искључи звук када сте _заузети" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Чаврљање - Пошаљи поруку" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Сакриј главни прозор" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Сакриј главни прозор." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Прикажи списак контаката" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Висина главног прозора." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Прикажи неповезане контакте" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Прикажи графички смешак" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Користи звук за напомене" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Да ли да претвори смешке у графичке слике у чаврљању." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Да ли да пусти звук када порука стигне." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Да ли да пусти звук када је одсутан." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Да ли да пусти звук када је заузет." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Да ли да пусти звук када порука стигне." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Да ли да прикажем неповезане контакте у списку контаката." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Да ли да прикажем неповезане контакте у списку контаката." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Да ли да прикажем неповезане контакте у списку контаката." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Неповезан" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Доступан" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Заузет" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Одсутан" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Прикажи списак контаката" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Група" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "Додај контакт" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Сакриј списак контаката" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Повежи се" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "У_реди омиљене..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "_Прикажи неповезане контакте" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Акције" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Акције" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Додај контакт..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Разговор" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Повежи се" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "_Изађи" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Нова порука..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Лични подаци" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Поставке" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Изађи" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Соба:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "С_ледећи разговор" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Стање" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Прикажи списак контаката" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Брзи гласник за Гнома" + +# Note to translators: put here your name (and address) so it +# * will shop up in the "about" box +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "dejan@ns.sympatico.ca" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Доступан" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Налог:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Налог:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Име налога:" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Налог:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Налог:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Звук</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Ћаскај" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Џабер" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Име:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Тема:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Пример: корисник@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "_Лозинка:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "Извор:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Користи _шифровање (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "П_орт:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Сервер:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Неповезан" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Повезан" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "Оч_исти" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Ћаскај" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "По_даци за контакт" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Ћаскај" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "Ре_гистровање..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Унесите поруку о стању:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Премести језичак _лево" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Премести језичак _десно" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "У_реди омиљене..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Разговор" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Одвоји лист" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Следећи лист" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "П_ретходни лист" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "_Прикажи списак контаката" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Листови" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Умножи адресу везе" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Отвори везу" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A, %d. %B %Y." + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_Нова порука..." +msgstr[1] "_Нова порука..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Чаврљање - Чаврљај" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Разговор" +msgstr[1] "_Разговор" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +#, fuzzy +msgid "Typing a message." +msgstr "Пошаљи поруку чаврљања..." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "Додај контакт" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Група" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Додај контакт" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "По_даци за контакт" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Информације за контакт" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/Преи_менуј групу" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Уклони" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Унесите нови надимак за контакт\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "Уклони" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/Уклони контакт" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Чаврљање - Уреди Групно Чаврљање" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "_Send File..." +msgstr "Пошаљи по_руку..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Изабери" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "С_ледећи разговор" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Изглед" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Налог:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Омиљено:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Повежи се" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +#, fuzzy +msgid "<b>Languages</b>" +msgstr "<b>Подразумеване поруке</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "<b>Звук</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Е-пошта:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "Име за чаврљање:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Искључи звук када сте _одсутни" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Искључи звук када сте _заузети" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Обавештење" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Поставке" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Претвори _смешке у графичке симболе" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Прикажи списак контаката" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +#, fuzzy +msgid "Sort by s_tate" +msgstr "Подесите ваше стање:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "Пуштај звук по пристизању порука" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Чаврљање - Уреди Групно Чаврљање" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Посебна порука..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "Оч_исти" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Да ли желите да прихватите захтев?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "Оч_исти" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Унесите поруку о стању:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Поруке о стању" + +# Претпоставити је нешто сматрати датим без изричитог навођења, управо као и овде. +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Претпостављене поруке стања" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s прекиде везу" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s се повеза" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "Оч_исти" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Не успостављај везу при покретању" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Брзи гласник" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Брзи гласник" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Придружи" + +#, fuzzy +#~ msgid "Active" +#~ msgstr "_Акције" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Непозната грешка" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Обавештење" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Непозната грешка" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Доступан" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Непозната грешка" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Повезан" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Повезан" + +#, fuzzy +#~ msgid "This feature is unavailable." +#~ msgstr "Можда је сервер тренутно недоступан." + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Нов налог" + +#~ msgid "Home" +#~ msgstr "Почетак" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Можда је сервер тренутно недоступан." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Регистровање налога" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Можда је сервер тренутно недоступан." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Раскини везу" + +#~ msgid "Connect" +#~ msgstr "Повежи се" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Успешно регистрован налог" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Није успео да региструје налог" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Унесите вашу лозинку:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Унесите вашу лозинку:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Унесите ново име за групу\n" +#~ "%s" + +#, fuzzy +#~ msgid "No information is available for this contact." +#~ msgstr "Преузмите податке о овом контакту" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>Тражио је информације, молим сачекајте...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Ја бих волео да додам тебе на моју листу другара." + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_Нова порука..." +#~ msgstr[1] "_Нова порука..." + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Захтев за побољшањем" +#~ msgstr[1] "Захтев за побољшањем" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "Порука са захтевом" +#~ msgstr[1] "Порука са захтевом" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Уреди податке о налогу" + +#~ msgid "New message from %s" +#~ msgstr "Нова порука од %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Прихвати" + +#, fuzzy +#~ msgid "Decline" +#~ msgstr "Вечера" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Име:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Соба:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Чаврљање - Повезати се" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>Тражио је информације, молим сачекајте...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Да ли желите да уклоните контакт\n" +#~ "%s\n" +#~ "из вашег списка другара?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Унесите ново име за групу\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Изабери" + +# :-) +#~ msgid "Unsorted" +#~ msgstr "Несврстани" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Непозната грешка" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "Ја бих волео да додам тебе на моју листу другара." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "Ја бих волео да додам тебе на моју листу другара." + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Изабери" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "По_везивање..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Чаврљање - Повезати се" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Који надимак желите да користите за овог корисника?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Тема:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Име налога:" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Разговор" + +#~ msgid "List the available accounts" +#~ msgstr "Списак доступних налога" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Са којим налогом да успостави везу при покретању" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "ИМЕ НАЛОГА" + +#~ msgid "Available accounts:" +#~ msgstr "Доступни налози:" + +#~ msgid "[default]" +#~ msgstr "[подразумевано]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Непостоји налог са именом '%s'." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Придружи" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Ћаскај" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Чаврљање - Чаврљај" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "<b>Тражио је информације, молим сачекајте...</b>" + +#~ msgid "Default" +#~ msgstr "Подразумевано" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Ћаскај" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s ће бити додат у вашу листу другара." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Контант ће бити додат у вашу листу другара" + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Захтев за побољшањем" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "По_даци за контакт" + +#, fuzzy +#~ msgid "New subscription request from %s" +#~ msgstr "Захтев за побољшањем" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "Да ли желите да уклоните контакт\n" +#~ "%s\n" +#~ "из вашег списка другара?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "Да ли желите да уклоните контакт\n" +#~ "%s\n" +#~ "из вашег списка другара?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Унесите вашу лозинку:" + +#~ msgid "Remember Password?" +#~ msgstr "Да ли сте запамтили лозинку?" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Ћаскај" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "%s се повеза" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Да ли желите да прихватите захтев?" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "_Корисничко име:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "Веб сајт :" + +#~ msgid "Web site:" +#~ msgstr "Веб сајт :" + +#~ msgid "_Accept" +#~ msgstr "_Прихвати" + +#~ msgid "_Deny" +#~ msgstr "О_дбиј" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Звук</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Име налога:" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Чаврљање - Уреди Групно Чаврљање" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Чаврљање - Чаврљај" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Придружи" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Не успостављај везу при покретању" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Име:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Сервер:" + +#~ msgid "_Nickname:" +#~ msgstr "_Надимак:" + +#~ msgid "_Room:" +#~ msgstr "_Соба:" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>Налог:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Подаци о клијенту" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Налог:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Име:</b>" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Подешавања налога</b>" + +#, fuzzy +#~ msgid "<b>Status</b>" +#~ msgstr "<b>Звук</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Звук</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Пример: корисник@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Име налога:" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "Додај контакт" + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Ћаскај" + +#~ msgid "Client:" +#~ msgstr "Клијент:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "Додај контакт" + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Не успостављај везу при покретању" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "Додај контакт" + +#~ msgid "Country:" +#~ msgstr "Држава:" + +#, fuzzy +#~ msgid "Decide _Later" +#~ msgstr "О_длучи касније" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "Додај контакт" + +#~ msgid "Edit Groups" +#~ msgstr "Уреди групе" + +#~ msgid "Email:" +#~ msgstr "Е-пошта:" + +# Џабер идентификациона ознака :-) +#, fuzzy +#~ msgid "ID:" +#~ msgstr "ЏИО" + +#~ msgid "Name:" +#~ msgstr "Име:" + +#~ msgid "OS:" +#~ msgstr "ОС:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "<b>Подешавања налога</b>" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Ре_гистровање..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Тражи..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Чаврљање - Пошаљи поруку" + +#, fuzzy +#~ msgid "Subscription Request" +#~ msgstr "Захтев за побољшањем" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Који надимак желите да користите за овог корисника?" + +#~ msgid "Version:" +#~ msgstr "Верзија:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "С_ледећи разговор" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Који надимак желите да користите?" + +#, fuzzy +#~ msgid "_Birthday:" +#~ msgstr "_Важност:" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Повежи се" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Опис" + +#~ msgid "_Disconnect" +#~ msgstr "_Раскини везу" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Е-пошта:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Унесите кориснички ID од особе којој желите да пошањете поруку за " +#~ "чаврљање." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "П_орт:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Име:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Група" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Надимак:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Лозинка:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Порук_е о стању" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "Уклони" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Веб сајт :" + +# Претпоставити је нешто сматрати датим без изричитог навођења, управо као и овде. +#~ msgid "Preset status messages" +#~ msgstr "Претпостављене поруке стања" + +#~ msgid "Preset status messages." +#~ msgstr "Претпостављене поруке стања." + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "Повежи се" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s ће бити додат у вашу листу другара." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "_Џабер ID новог контакта:" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Унесите вашу лозинку:" + +#, fuzzy +#~ msgid "Favourite" +#~ msgstr "<b>Омиљено:</b>" + +#~ msgid "Contact Information for %s" +#~ msgstr "Контакт информације за %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/Информације за контакт" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/_Преименуј контакт" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/Уреди _групе" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "С_ледећи разговор" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Унесите нови надимак за контакт\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Уреди групе за %s" + +#~ msgid "Conversation Log" +#~ msgstr "Дневник разговора" + +#~ msgid "Registering account" +#~ msgstr "Регистровање налога" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Разлог:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "У_реди омиљене..." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Име:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Чаврљање - Чаврљај" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Тражио је информације, молим сачекајте...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Пример: корисник@jabber.org</span>" + +#, fuzzy +#~ msgid "Account Name" +#~ msgstr "Име налога:" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Чаврљање - Чаврљај" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Да ли већ имате налог на Џабер серверу?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Унесите нови надимак за контакт\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Унесите нови надимак за контакт\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Кликните да добијете корисничке контакт информације" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Подешавање је завршено" + +#~ msgid "Gossip" +#~ msgstr "Чаврљање" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Чаврљање је модеран клијент за Џабер систем брзих порука.\n" +#~ "\n" +#~ "Овај помоћник ће вам помоћи да подесите Чаврљање и повежете се на ваш " +#~ "омиљен Џабер сервер.\n" +#~ "\n" +#~ "Да почнете, само кликните „Напред“." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Захтев ће бити послат и тражити да видите присутност корисника, Док се " +#~ "захтев не одобри, корисник ће увек бити приказан као \"Не повезан\" у " +#~ "вашој листи пријатеља." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "У коју групу желите да распоредите овај контакт?" + +#~ msgid "Jabber ID:" +#~ msgstr "Џабер ИД:" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "_Надимак:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "П_орт:" + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Регистровање налога" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "Извор:" + +#~ msgid "Sending request" +#~ msgstr "Захтев за слање" + +#~ msgid "Server:" +#~ msgstr "Сервер:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "Веб сајт :" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Добродошли у Чаврљање" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Који систем тренутних порука корисник користи?" + +#~ msgid "What is your name?" +#~ msgstr "Како се зовете?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Који сервер желите да користите?" + +#~ msgid "What username do you use?" +#~ msgstr "Који надимак користите?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Који надимак желите да користите?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "У коју групу желите да распоредите овај контакт?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Сада је Чаврљање одговарајуће подешено за ваш систем.\n" +#~ "Ви можете да промените подешавања вашег налога касније избором менија " +#~ "Разговор->Повезивање...." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Џабер Налог" + +#~ msgid "Your Identity" +#~ msgstr "Ваш идентитет" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Чаврљање - Чаврљај" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Не" + +#~ msgid "_Search..." +#~ msgstr "_Тражи..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Да" + +#~ msgid "Be silent when away" +#~ msgstr "Буди тих на одсуству" + +#~ msgid "Be silent when busy" +#~ msgstr "Буди тих на одсуству" + +#~ msgid "Height of main window" +#~ msgstr "Висина главног прозора" + +#~ msgid "The X position of the main window." +#~ msgstr "Водоравни положај главног прозора." + +#~ msgid "The Y position of the main window." +#~ msgstr "Усправни положај главног прозора." + +#~ msgid "The width of the main window." +#~ msgstr "Ширина главног прозора." + +#~ msgid "Width of the main window" +#~ msgstr "Ширина главног прозора" + +#~ msgid "X position of main window" +#~ msgstr "Водоравни положај главног прозора" + +#~ msgid "Y position of main window" +#~ msgstr "Усправни положај главног прозора" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Чаврљање, брзи гласник за Гнома" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Сакриј главни прозор." + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "Подаци о _налогу" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Пошаљи поруку у _разговор..." + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s прекиде везу" + +#~ msgid "Available..." +#~ msgstr "Доступан..." + +#~ msgid "Busy..." +#~ msgstr "Заузет..." + +#~ msgid "Away..." +#~ msgstr "Одсутан..." + +#~ msgid "Contact _Information" +#~ msgstr "По_даци за контакт" + +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Звук</b>" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Чаврљање - Уреди Налог" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "_Прикључи се групном чаврљању..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "П_орт:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Подаци о клијенту" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Који сервер желите да користите?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>Повежи се на сервер</b>" + +#~ msgid "Artwork by:" +#~ msgstr "Цртежи:" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "Име налога:" + +#~ msgid "%sChat - %s" +#~ msgstr "%sЧаврљање - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Прикажи _дневник" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Верзија:" + +#, fuzzy +#~ msgid "Croatian" +#~ msgstr "Разговор" + +#, fuzzy +#~ msgid "Latvian" +#~ msgstr "Напуштам:" + +#~ msgid "View Lo_g" +#~ msgstr "Погледај дне_вник" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Чаврљање - Групно Чаврљање" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Чаврљање - Повезати се" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "По_даци за контакт" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Чаврљање - Уреди Групно Чаврљање" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Чаврљање - Уреди Налог" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Чаврљање - Пошаљи поруку" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Чаврљање - Повезати се" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Поставке" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Чаврљање - Пошаљи поруку" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Коју поруку са захтевом желите да пошаљете %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Проверите да ли су подаци о налогу исправни." + +#~ msgid "%s wants to be notified of your presence." +#~ msgstr "%s жели обавештења о вашем присуству." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Ви сте развезани са сервера. Желители да се поново повежете?" + +#, fuzzy +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Проверите да ли су подаци о налогу исправни, као што је корисничко име и " +#~ "лозинка.." + +#~ msgid "Edit List..." +#~ msgstr "Уреди списак..." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "Догодила се грешка приликом чаврљање са %s." + +#~ msgid "Details:" +#~ msgstr "Детаљи:" + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "Догодила се грешка приликом чаврљање у групи %s." + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Није могуће унети grupu групу за чаврљање %s." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Чаврљање ће сада пробати да користи ваш налог:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Чаврљање ће сада пробати да региструје ваш налог:" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Од:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Чаврљање - Прими поруку" + +#~ msgid "In reply to:" +#~ msgstr "Као одговор на:" + +#~ msgid "To:" +#~ msgstr "Коме:" + +#~ msgid "_Reply..." +#~ msgstr "Одго_вори..." + +#~ msgid "_Send" +#~ msgstr "_Пошаљи" + +#~ msgid "C_onnect" +#~ msgstr "П_овежи се" + +#~ msgid "_Resource:" +#~ msgstr "_Ресурс:" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Доступне собе за чаврљање</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Информација собе за чаврљање</b>" + +#~ msgid "Gossip - Join Group Chat" +#~ msgstr "Чаврљање - Придружи се Групном Чаврљању" + +#~ msgid "N_ickname:" +#~ msgstr "Над_имак:" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "" +#~ "Да уђете, изаберите омиљено или унесите надимак, име сервера и име од " +#~ "собе за чаврљање." + +#~ msgid "R_emove" +#~ msgstr "_Уклони" + +#~ msgid "_Add" +#~ msgstr "_Додај" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Претпостављене поруке стања</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Информација није доступана</i>" + +#~ msgid "Choose a Server" +#~ msgstr "Изабери сервер" + +#~ msgid "Choose from list:" +#~ msgstr "Одаберите из списка:" + +#~ msgid "Information about ..." +#~ msgstr "Информације о..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "На ком серверу имате Џабер налог?" + +#~ msgid "Sound" +#~ msgstr "Звук" + +#~ msgid "Status Message" +#~ msgstr "Порука о стању" + +#~ msgid "Use a different server" +#~ msgstr "Користи други сервер" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Коју поруку са захтевом желите да пошаљете ...?" + +#, fuzzy +#~ msgid "About Gossip" +#~ msgstr "Чаврљање" + +# Note to translators: put here your name (and address) so it +# * will shop up in the "about" box +#, fuzzy +#~ msgid "translator_credits_old" +#~ msgstr "Дејан Матијевић <dejan@ns.sympatico.ca>" + +#~ msgid "Gossip Website" +#~ msgstr "Веб страница Чаврљања" + +#~ msgid "Unable to Authenticate" +#~ msgstr "Не могу да се идентификујем" + +#~ msgid "Gossip, Jabber Client" +#~ msgstr "Чаврљање, Џабер Клијент" + +#~ msgid "About to leave..." +#~ msgstr "Управо одлазим..." + +#~ msgid "Autoaway message" +#~ msgstr "Порука за самоодсуство" + +#~ msgid "Away messages" +#~ msgstr "Поруке за одсуство" + +#~ msgid "Busy messages" +#~ msgstr "Поруке за заузеће" + +#~ msgid "Message to show before going away" +#~ msgstr "Порука која се приказује пре одласка" + +#~ msgid "Not at the computer" +#~ msgstr "Нисам за рачунаром" + +#~ msgid "Just about to leave..." +#~ msgstr "Управо одлазим..." + +#~ msgid "Custom Busy Message..." +#~ msgstr "Посебна порука за заузеће..." + +#~ msgid "Leave..." +#~ msgstr "Напусти..." + +#~ msgid "New Busy Message" +#~ msgstr "Нова порука за заузеће" + +#~ msgid "New Away Message" +#~ msgstr "Нова порука за одсуство" + +#~ msgid "Working" +#~ msgstr "Радим" + +#~ msgid "Eating" +#~ msgstr "Једем" + +#~ msgid "Sleeping" +#~ msgstr "Спавам" + +#~ msgid "Enter the new message:" +#~ msgstr "Унесите нову поруку:" + +#~ msgid "Leave" +#~ msgstr "Напусти" + +#~ msgid "" +#~ "Note: contacts can belong to multiple groups or they can be in no group " +#~ "at all." +#~ msgstr "" +#~ "Пажња: контакти могу да припадају већем броју група или ниједној групи." + +#~ msgid "Preset messages for quickly setting away status." +#~ msgstr "Постављање поруке за брзо одлажење на одсуство." + +#~ msgid "Preset messages for quickly setting busy status." +#~ msgstr "Постављање поруке за брзо подешавање заузећа." + +#~ msgid "Reason for being busy:" +#~ msgstr "Разлог заузећа:" + +#~ msgid "Reason for leaving:" +#~ msgstr "Разлог одласка:" + +#~ msgid "As _Windows" +#~ msgstr "Као _прозори" + +#~ msgid "As a _List" +#~ msgstr "Као _списак" + +#~ msgid "_Go" +#~ msgstr "_Иди" + +#~ msgid "Open conversations in single window with list view" +#~ msgstr "Отвори разговоре у једном прозору приказујући их у списку" + +#~ msgid "[Eating,Sleeping]" +#~ msgstr "[Једем,спавам]" + +#~ msgid "[Working]" +#~ msgstr "[Радим]" + +#~ msgid "Add" +#~ msgstr "Додај" + +#~ msgid "Open conversations in a single window with _list view" +#~ msgstr "Отвори разговоре у једном прозору као сп_исак" + +#~ msgid "<b>Away messages</b>" +#~ msgstr "<b>Поруке за одсуство</b>" + +#~ msgid "Available:" +#~ msgstr "Доступан:" + +#~ msgid "Away:" +#~ msgstr "Одсутан:" + +#~ msgid "Messages" +#~ msgstr "Поруке" + +#~ msgid "" +#~ "These messages are used to describe your status when you're about to " +#~ "leave and when you're away." +#~ msgstr "" +#~ "Ове поруке се користе за описивање вашег стања када управо одлазите или " +#~ "сте одсутни." + +#~ msgid "" +#~ "These messages are used to describe your status when you're available, " +#~ "about to leave, or automatically set away due to inactivity." +#~ msgstr "" +#~ "Ове поруке се користе за описивање вашег стања када сте доступни, управо " +#~ "одлазите или сте одсутни услед неактивности." + +#~ msgid "Use com_pact conversation style" +#~ msgstr "Користи стил са_жетог разговора" + +#~ msgid "Use sounds to _notify when new messages arrive" +#~ msgstr "Користи звук за _обавештење када нова порука стигне" + +#~ msgid "Timestamp all messages" +#~ msgstr "Означи време за све поруке" + +#~ msgid "Whether or not to timestamp all messages in conversations." +#~ msgstr "Да ли да дода ознаке времена на све поруке у разговорима." + +#~ msgid "_Timestamp all messages" +#~ msgstr "Додај ознаку _временског тренутка на све поруке" + +#~ msgid "Custom Away Message..." +#~ msgstr "Посебна порука за одсуство..." + +# Translators: See comment for "%sChat - %s". +#~ msgid "%sChat" +#~ msgstr "%sЧаврљање" + +# The extra space is to differentiate the string from Offline as status. It +# * might need a different translation, at least in Swedish. +#~ msgid "Offline " +#~ msgstr "Неповезан" + +#~ msgid "Others" +#~ msgstr "Други" + +#~ msgid "Get _Info" +#~ msgstr "_Подаци" + +#~ msgid "Use ta_bs instead of windows for conversations" +#~ msgstr "Користи _листове уместо прозора за разговоре" + +#~ msgid "I'm here" +#~ msgstr "Овде сам" + +#~ msgid "I'm not here right now" +#~ msgstr "Тренутно нисам овде" + +#~ msgid "Auto away enabled" +#~ msgstr "Аутоматски одсутан укључено" + +#~ msgid "Extended autoaway time" +#~ msgstr "Продужено време за аутоматски одсутан" + +#~ msgid "" +#~ "The number of minutes of idle time before automatically going into \"away" +#~ "\" mode." +#~ msgstr "" +#~ "Број минута од неактивног времена пре него што аутоматски оде у мод " +#~ "\"одсутан\"" + +#~ msgid "" +#~ "The number of minutes of idle time before automatically going into " +#~ "\"extended away\" mode." +#~ msgstr "" +#~ "Број минута од неактивног времена пре него што аутоматски оде у мод " +#~ "\"дуго одсутан\"" + +#~ msgid "" +#~ "Whether or not to go into \"away\" mode automatically when a certain time " +#~ "of idling has passed." +#~ msgstr "" +#~ "Да ли да оде у мод \"одсутан\" аутоматски када одређено време " +#~ "неактивности прође." + +#~ msgid "_Busy" +#~ msgstr "_Заузет" + +#~ msgid "Present" +#~ msgstr "Присутни" + +#~ msgid "Timestamp messages" +#~ msgstr "Прикажи ознаку временског тренутка на порукама" + +#~ msgid "Free to chat" +#~ msgstr "Слободан за ћаскање" + +#~ msgid "Extended away" +#~ msgstr "Дуго одсутан" + +#~ msgid "_Edit Account..." +#~ msgstr "_Уређивање налога..." + +#~ msgid "" +#~ "<b>Welcome to Gossip</b>\n" +#~ "\n" +#~ "Gossip is a modern client for the Jabber Instant Message system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server." +#~ msgstr "" +#~ "<b>Добродошли у Чаврљање</b>\n" +#~ "\n" +#~ "Чаврљање је модеран клијент за Џабер Тренутне Поруке.\n" +#~ "\n" +#~ "Овај помоћник ће вам помоћи да подесите Чаврљање и конектујете се на ваш " +#~ "омиљен Џабер сервер." + +#~ msgid "<b>Additional information</b>" +#~ msgstr "<b>Додатне информације</b>" + +#~ msgid "<b>Address</b>" +#~ msgstr "<b>Адреса</b>" + +#~ msgid "<b>Auto away</b>" +#~ msgstr "<b>Аутоматски одсутан</b>" + +#~ msgid "Automatically enter away mode during inactivity" +#~ msgstr "Аутоматски уђи у мод одсутности за време неактивности" + +#~ msgid "Enter away mode after" +#~ msgstr "Уђи у мод одсутности после" + +#~ msgid "I'm away eating dinner, bbiab..." +#~ msgstr "Ја сам одсутан док вечерам, враћам се за..." + +#~ msgid "Priority:" +#~ msgstr "Важност:" + +#~ msgid "Set the status you want to use" +#~ msgstr "Подесите стање које желите да користите" + +#~ msgid "minutes" +#~ msgstr "минута" + +#~ msgid "<b>Jabber ID:</b>" +#~ msgstr "<b>Џабер ID:</b>" + +#~ msgid "<b>Setup Finished</b>" +#~ msgstr "<b>Поставка је завршена</b>" + +#~ msgid "" +#~ "This user wants to subscribe to your presence.\n" +#~ "Do you approve?" +#~ msgstr "" +#~ "Овај корисник је послао захтев да види вашу присутност.\n" +#~ "Да ли одобравате?" + +#~ msgid "_Approve" +#~ msgstr "Одо_бри" + +#~ msgid "_Defer" +#~ msgstr "_Одбиј" + +#~ msgid "Default Account" +#~ msgstr "Подразумевани Налог" + +#~ msgid "Could not open the address \"%s\": %s" +#~ msgstr "Не може да приступи адреси „%s“: %s" + +#~ msgid "<b>Available accounts</b>" +#~ msgstr "<b>Доступни налози</b>" + +#~ msgid "<b>What account do you want to use for this connection?</b>" +#~ msgstr "<b>Који налог желите да користите за ову везу?</b>" + +#~ msgid "Use SS_L" +#~ msgstr "Користи SSL" + +#~ msgid "_User:" +#~ msgstr "Корисник:" + +#~ msgid "What request message do you want to send to <b>micke</b>?" +#~ msgstr "Који захтев желите да пошаљете <b>Миљенку</b>?" diff --git a/trunk/po/sr@Latn.po b/trunk/po/sr@Latn.po new file mode 100644 index 000000000..f7c260e01 --- /dev/null +++ b/trunk/po/sr@Latn.po @@ -0,0 +1,2314 @@ +# Serbian translation of gossip +# Courtesy of Prevod.org team (http://prevod.org/) -- 2003, 2004. +# +# This file is distributed under the same license as the gossip package. +# +# Maintainer: Dejan Matijević <dejan@ns.sympatico.ca> +# +msgid "" +msgstr "" +"Project-Id-Version: gossip\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-02-27 23:05+0100\n" +"Last-Translator: Danilo Šegan <danilo@prevod.org>\n" +"Language-Team: Serbian (sr) <serbiangnome-lista@nongnu.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Brzi glasnik" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Brzi glasnik" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +#, fuzzy +msgid "Chat window theme" +msgstr "Ćaskaj sa:" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Dodaj u svoj spisak drugara" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Isključi zvuk kada ste _odsutni" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Isključi zvuk kada ste _zauzeti" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Čavrljanje - Pošalji poruku" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Sakrij glavni prozor" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Sakrij glavni prozor." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "_Prikaži spisak kontakata" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Visina glavnog prozora." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Prikaži nepovezane kontakte" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Prikaži grafički smešak" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Koristi zvuk za napomene" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Da li da pretvori smeške u grafičke slike u čavrljanju." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Da li da pusti zvuk kada poruka stigne." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Da li da pusti zvuk kada je odsutan." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Da li da pusti zvuk kada je zauzet." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Da li da pusti zvuk kada poruka stigne." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Da li da prikažem nepovezane kontakte u spisku kontakata." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Da li da prikažem nepovezane kontakte u spisku kontakata." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Da li da prikažem nepovezane kontakte u spisku kontakata." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Nepovezan" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Dostupan" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Zauzet" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Odsutan" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Prikaži spisak kontakata" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Grupa" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "Dodaj kontakt" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Sakrij spisak kontakata" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "Poveži se" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "U_redi omiljene..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "_Prikaži nepovezane kontakte" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Akcije" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Akcije" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Dodaj kontakt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Razgovor" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "Poveži se" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "_Izađi" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Nova poruka..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Lični podaci" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Postavke" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Izađi" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Soba:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "S_ledeći razgovor" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Stanje" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Prikaži spisak kontakata" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Brzi glasnik za Gnoma" + +# Note to translators: put here your name (and address) so it +# * will shop up in the "about" box +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "Dejan Matijević" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Dostupan" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Nalog:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Nalog:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Ime naloga:" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Nalog:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Nalog:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Zvuk</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Ćaskaj" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "DŽaber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Ime:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Tema:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Primer: korisnik@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "_Lozinka:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "Izvor:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Koristi _šifrovanje (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "P_ort:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Server:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Nepovezan" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Povezan" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "Oč_isti" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Ćaskaj" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "Po_daci za kontakt" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Ćaskaj" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "Re_gistrovanje..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Unesite poruku o stanju:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Premesti jezičak _levo" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Premesti jezičak _desno" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "U_redi omiljene..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Razgovor" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Odvoji list" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Sledeći list" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "P_rethodni list" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "_Prikaži spisak kontakata" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Listovi" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Umnoži adresu veze" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Otvori vezu" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A, %d. %B %Y." + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_Nova poruka..." +msgstr[1] "_Nova poruka..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Čavrljanje - Čavrljaj" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Razgovor" +msgstr[1] "_Razgovor" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +#, fuzzy +msgid "Typing a message." +msgstr "Pošalji poruku čavrljanja..." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "Dodaj kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Grupa" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Dodaj kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "Po_daci za kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Informacije za kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/Prei_menuj grupu" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "Ukloni" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Unesite novi nadimak za kontakt\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "Ukloni" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/Ukloni kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Čavrljanje - Uredi Grupno Čavrljanje" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "_Send File..." +msgstr "Pošalji po_ruku..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Izaberi" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "S_ledeći razgovor" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "Izgled" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Nalog:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Omiljeno:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Poveži se" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +#, fuzzy +msgid "<b>Languages</b>" +msgstr "<b>Podrazumevane poruke</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "<b>Zvuk</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>E-pošta:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "Ime za čavrljanje:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Isključi zvuk kada ste _odsutni" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Isključi zvuk kada ste _zauzeti" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Obaveštenje" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Postavke" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Pretvori _smeške u grafičke simbole" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "_Prikaži spisak kontakata" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +#, fuzzy +msgid "Sort by s_tate" +msgstr "Podesite vaše stanje:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "Puštaj zvuk po pristizanju poruka" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Čavrljanje - Uredi Grupno Čavrljanje" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Posebna poruka..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "Oč_isti" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Da li želite da prihvatite zahtev?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "Oč_isti" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Unesite poruku o stanju:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Poruke o stanju" + +# Pretpostaviti je nešto smatrati datim bez izričitog navođenja, upravo kao i ovde. +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Pretpostavljene poruke stanja" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s prekide vezu" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s se poveza" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "Oč_isti" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Ne uspostavljaj vezu pri pokretanju" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Brzi glasnik" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Brzi glasnik" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Pridruži" + +#, fuzzy +#~ msgid "Active" +#~ msgstr "_Akcije" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Nepoznata greška" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Obaveštenje" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Nepoznata greška" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Dostupan" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Nepoznata greška" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "Povezan" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "Povezan" + +#, fuzzy +#~ msgid "This feature is unavailable." +#~ msgstr "Možda je server trenutno nedostupan." + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Nov nalog" + +#~ msgid "Home" +#~ msgstr "Početak" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Možda je server trenutno nedostupan." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Registrovanje naloga" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Možda je server trenutno nedostupan." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Raskini vezu" + +#~ msgid "Connect" +#~ msgstr "Poveži se" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Uspešno registrovan nalog" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Nije uspeo da registruje nalog" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Unesite vašu lozinku:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Unesite vašu lozinku:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Unesite novo ime za grupu\n" +#~ "%s" + +#, fuzzy +#~ msgid "No information is available for this contact." +#~ msgstr "Preuzmite podatke o ovom kontaktu" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>Tražio je informacije, molim sačekajte...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Ja bih voleo da dodam tebe na moju listu drugara." + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_Nova poruka..." +#~ msgstr[1] "_Nova poruka..." + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "Zahtev za poboljšanjem" +#~ msgstr[1] "Zahtev za poboljšanjem" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "Poruka sa zahtevom" +#~ msgstr[1] "Poruka sa zahtevom" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Uredi podatke o nalogu" + +#~ msgid "New message from %s" +#~ msgstr "Nova poruka od %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Prihvati" + +#, fuzzy +#~ msgid "Decline" +#~ msgstr "Večera" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Ime:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Soba:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "Čavrljanje - Povezati se" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>Tražio je informacije, molim sačekajte...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Da li želite da uklonite kontakt\n" +#~ "%s\n" +#~ "iz vašeg spiska drugara?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Unesite novo ime za grupu\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Izaberi" + +# :-) +#~ msgid "Unsorted" +#~ msgstr "Nesvrstani" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Nepoznata greška" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "Ja bih voleo da dodam tebe na moju listu drugara." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "Ja bih voleo da dodam tebe na moju listu drugara." + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Izaberi" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Po_vezivanje..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Čavrljanje - Povezati se" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Koji nadimak želite da koristite za ovog korisnika?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Tema:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Ime naloga:" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Razgovor" + +#~ msgid "List the available accounts" +#~ msgstr "Spisak dostupnih naloga" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Sa kojim nalogom da uspostavi vezu pri pokretanju" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "IME NALOGA" + +#~ msgid "Available accounts:" +#~ msgstr "Dostupni nalozi:" + +#~ msgid "[default]" +#~ msgstr "[podrazumevano]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Nepostoji nalog sa imenom '%s'." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Pridruži" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Ćaskaj" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Čavrljanje - Čavrljaj" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "<b>Tražio je informacije, molim sačekajte...</b>" + +#~ msgid "Default" +#~ msgstr "Podrazumevano" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Ćaskaj" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s će biti dodat u vašu listu drugara." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Kontant će biti dodat u vašu listu drugara" + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Zahtev za poboljšanjem" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "Po_daci za kontakt" + +#, fuzzy +#~ msgid "New subscription request from %s" +#~ msgstr "Zahtev za poboljšanjem" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "Da li želite da uklonite kontakt\n" +#~ "%s\n" +#~ "iz vašeg spiska drugara?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "Da li želite da uklonite kontakt\n" +#~ "%s\n" +#~ "iz vašeg spiska drugara?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Unesite vašu lozinku:" + +#~ msgid "Remember Password?" +#~ msgstr "Da li ste zapamtili lozinku?" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Ćaskaj" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "%s se poveza" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Da li želite da prihvatite zahtev?" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "_Korisničko ime:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "Veb sajt :" + +#~ msgid "Web site:" +#~ msgstr "Veb sajt :" + +#~ msgid "_Accept" +#~ msgstr "_Prihvati" + +#~ msgid "_Deny" +#~ msgstr "O_dbij" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Zvuk</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Ime naloga:" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Čavrljanje - Uredi Grupno Čavrljanje" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Čavrljanje - Čavrljaj" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Pridruži" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Ne uspostavljaj vezu pri pokretanju" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Ime:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Server:" + +#~ msgid "_Nickname:" +#~ msgstr "_Nadimak:" + +#~ msgid "_Room:" +#~ msgstr "_Soba:" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>Nalog:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Podaci o klijentu" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Nalog:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Ime:</b>" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Podešavanja naloga</b>" + +#, fuzzy +#~ msgid "<b>Status</b>" +#~ msgstr "<b>Zvuk</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Zvuk</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Primer: korisnik@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Ime naloga:" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "Dodaj kontakt" + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Ćaskaj" + +#~ msgid "Client:" +#~ msgstr "Klijent:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "Dodaj kontakt" + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Ne uspostavljaj vezu pri pokretanju" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "Dodaj kontakt" + +#~ msgid "Country:" +#~ msgstr "Država:" + +#, fuzzy +#~ msgid "Decide _Later" +#~ msgstr "O_dluči kasnije" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "Dodaj kontakt" + +#~ msgid "Edit Groups" +#~ msgstr "Uredi grupe" + +#~ msgid "Email:" +#~ msgstr "E-pošta:" + +# DŽaber identifikaciona oznaka :-) +#, fuzzy +#~ msgid "ID:" +#~ msgstr "DŽIO" + +#~ msgid "Name:" +#~ msgstr "Ime:" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "<b>Podešavanja naloga</b>" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Re_gistrovanje..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "_Traži..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Čavrljanje - Pošalji poruku" + +#, fuzzy +#~ msgid "Subscription Request" +#~ msgstr "Zahtev za poboljšanjem" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Koji nadimak želite da koristite za ovog korisnika?" + +#~ msgid "Version:" +#~ msgstr "Verzija:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "S_ledeći razgovor" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Koji nadimak želite da koristite?" + +#, fuzzy +#~ msgid "_Birthday:" +#~ msgstr "_Važnost:" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "Poveži se" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Opis" + +#~ msgid "_Disconnect" +#~ msgstr "_Raskini vezu" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "E-pošta:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Unesite korisnički ID od osobe kojoj želite da pošanjete poruku za " +#~ "čavrljanje." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "P_ort:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Ime:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Grupa" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "_Nadimak:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Lozinka:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Poruk_e o stanju" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "Ukloni" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Veb sajt :" + +# Pretpostaviti je nešto smatrati datim bez izričitog navođenja, upravo kao i ovde. +#~ msgid "Preset status messages" +#~ msgstr "Pretpostavljene poruke stanja" + +#~ msgid "Preset status messages." +#~ msgstr "Pretpostavljene poruke stanja." + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "Poveži se" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s će biti dodat u vašu listu drugara." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "_DŽaber ID novog kontakta:" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Unesite vašu lozinku:" + +#, fuzzy +#~ msgid "Favourite" +#~ msgstr "<b>Omiljeno:</b>" + +#~ msgid "Contact Information for %s" +#~ msgstr "Kontakt informacije za %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/Informacije za kontakt" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/_Preimenuj kontakt" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/Uredi _grupe" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "S_ledeći razgovor" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Unesite novi nadimak za kontakt\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Uredi grupe za %s" + +#~ msgid "Conversation Log" +#~ msgstr "Dnevnik razgovora" + +#~ msgid "Registering account" +#~ msgstr "Registrovanje naloga" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Razlog:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "U_redi omiljene..." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Ime:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Čavrljanje - Čavrljaj" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Tražio je informacije, molim sačekajte...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Primer: korisnik@jabber.org</span>" + +#, fuzzy +#~ msgid "Account Name" +#~ msgstr "Ime naloga:" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Čavrljanje - Čavrljaj" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Da li već imate nalog na DŽaber serveru?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Unesite novi nadimak za kontakt\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Unesite novi nadimak za kontakt\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Kliknite da dobijete korisničke kontakt informacije" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Podešavanje je završeno" + +#~ msgid "Gossip" +#~ msgstr "Čavrljanje" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Čavrljanje je moderan klijent za DŽaber sistem brzih poruka.\n" +#~ "\n" +#~ "Ovaj pomoćnik će vam pomoći da podesite Čavrljanje i povežete se na vaš " +#~ "omiljen DŽaber server.\n" +#~ "\n" +#~ "Da počnete, samo kliknite „Napred“." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Zahtev će biti poslat i tražiti da vidite prisutnost korisnika, Dok se " +#~ "zahtev ne odobri, korisnik će uvek biti prikazan kao \"Ne povezan\" u " +#~ "vašoj listi prijatelja." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "U koju grupu želite da rasporedite ovaj kontakt?" + +#~ msgid "Jabber ID:" +#~ msgstr "DŽaber ID:" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "_Nadimak:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "P_ort:" + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Registrovanje naloga" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "Izvor:" + +#~ msgid "Sending request" +#~ msgstr "Zahtev za slanje" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "Veb sajt :" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Dobrodošli u Čavrljanje" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Koji sistem trenutnih poruka korisnik koristi?" + +#~ msgid "What is your name?" +#~ msgstr "Kako se zovete?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Koji server želite da koristite?" + +#~ msgid "What username do you use?" +#~ msgstr "Koji nadimak koristite?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Koji nadimak želite da koristite?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "U koju grupu želite da rasporedite ovaj kontakt?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Sada je Čavrljanje odgovarajuće podešeno za vaš sistem.\n" +#~ "Vi možete da promenite podešavanja vašeg naloga kasnije izborom menija " +#~ "Razgovor->Povezivanje...." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "DŽaber Nalog" + +#~ msgid "Your Identity" +#~ msgstr "Vaš identitet" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Čavrljanje - Čavrljaj" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Ne" + +#~ msgid "_Search..." +#~ msgstr "_Traži..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Da" + +#~ msgid "Be silent when away" +#~ msgstr "Budi tih na odsustvu" + +#~ msgid "Be silent when busy" +#~ msgstr "Budi tih na odsustvu" + +#~ msgid "Height of main window" +#~ msgstr "Visina glavnog prozora" + +#~ msgid "The X position of the main window." +#~ msgstr "Vodoravni položaj glavnog prozora." + +#~ msgid "The Y position of the main window." +#~ msgstr "Uspravni položaj glavnog prozora." + +#~ msgid "The width of the main window." +#~ msgstr "Širina glavnog prozora." + +#~ msgid "Width of the main window" +#~ msgstr "Širina glavnog prozora" + +#~ msgid "X position of main window" +#~ msgstr "Vodoravni položaj glavnog prozora" + +#~ msgid "Y position of main window" +#~ msgstr "Uspravni položaj glavnog prozora" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Čavrljanje, brzi glasnik za Gnoma" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Sakrij glavni prozor." + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "Podaci o _nalogu" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Pošalji poruku u _razgovor..." + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s prekide vezu" + +#~ msgid "Available..." +#~ msgstr "Dostupan..." + +#~ msgid "Busy..." +#~ msgstr "Zauzet..." + +#~ msgid "Away..." +#~ msgstr "Odsutan..." + +#~ msgid "Contact _Information" +#~ msgstr "Po_daci za kontakt" + +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>Zvuk</b>" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Čavrljanje - Uredi Nalog" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "_Priključi se grupnom čavrljanju..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "P_ort:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Podaci o klijentu" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Koji server želite da koristite?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>Poveži se na server</b>" + +#~ msgid "Artwork by:" +#~ msgstr "Crteži:" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "Ime naloga:" + +#~ msgid "%sChat - %s" +#~ msgstr "%sČavrljanje - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/Prikaži _dnevnik" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Verzija:" + +#, fuzzy +#~ msgid "Croatian" +#~ msgstr "Razgovor" + +#, fuzzy +#~ msgid "Latvian" +#~ msgstr "Napuštam:" + +#~ msgid "View Lo_g" +#~ msgstr "Pogledaj dne_vnik" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Čavrljanje - Grupno Čavrljanje" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Čavrljanje - Povezati se" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "Po_daci za kontakt" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Čavrljanje - Uredi Grupno Čavrljanje" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Čavrljanje - Uredi Nalog" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Čavrljanje - Pošalji poruku" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Čavrljanje - Povezati se" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Postavke" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Čavrljanje - Pošalji poruku" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Koju poruku sa zahtevom želite da pošaljete %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Proverite da li su podaci o nalogu ispravni." + +#~ msgid "%s wants to be notified of your presence." +#~ msgstr "%s želi obaveštenja o vašem prisustvu." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Vi ste razvezani sa servera. Želiteli da se ponovo povežete?" + +#, fuzzy +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Proverite da li su podaci o nalogu ispravni, kao što je korisničko ime i " +#~ "lozinka.." + +#~ msgid "Edit List..." +#~ msgstr "Uredi spisak..." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "Dogodila se greška prilikom čavrljanje sa %s." + +#~ msgid "Details:" +#~ msgstr "Detalji:" + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "Dogodila se greška prilikom čavrljanje u grupi %s." + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Nije moguće uneti grupu grupu za čavrljanje %s." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Čavrljanje će sada probati da koristi vaš nalog:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Čavrljanje će sada probati da registruje vaš nalog:" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "Od:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Čavrljanje - Primi poruku" + +#~ msgid "In reply to:" +#~ msgstr "Kao odgovor na:" + +#~ msgid "To:" +#~ msgstr "Kome:" + +#~ msgid "_Reply..." +#~ msgstr "Odgo_vori..." + +#~ msgid "_Send" +#~ msgstr "_Pošalji" + +#~ msgid "C_onnect" +#~ msgstr "P_oveži se" + +#~ msgid "_Resource:" +#~ msgstr "_Resurs:" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Dostupne sobe za čavrljanje</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Informacija sobe za čavrljanje</b>" + +#~ msgid "Gossip - Join Group Chat" +#~ msgstr "Čavrljanje - Pridruži se Grupnom Čavrljanju" + +#~ msgid "N_ickname:" +#~ msgstr "Nad_imak:" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "" +#~ "Da uđete, izaberite omiljeno ili unesite nadimak, ime servera i ime od " +#~ "sobe za čavrljanje." + +#~ msgid "R_emove" +#~ msgstr "_Ukloni" + +#~ msgid "_Add" +#~ msgstr "_Dodaj" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Pretpostavljene poruke stanja</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Informacija nije dostupana</i>" + +#~ msgid "Choose a Server" +#~ msgstr "Izaberi server" + +#~ msgid "Choose from list:" +#~ msgstr "Odaberite iz spiska:" + +#~ msgid "Information about ..." +#~ msgstr "Informacije o..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "Na kom serveru imate DŽaber nalog?" + +#~ msgid "Sound" +#~ msgstr "Zvuk" + +#~ msgid "Status Message" +#~ msgstr "Poruka o stanju" + +#~ msgid "Use a different server" +#~ msgstr "Koristi drugi server" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Koju poruku sa zahtevom želite da pošaljete ...?" + +#, fuzzy +#~ msgid "About Gossip" +#~ msgstr "Čavrljanje" + +# Note to translators: put here your name (and address) so it +# * will shop up in the "about" box +#, fuzzy +#~ msgid "translator_credits_old" +#~ msgstr "Dejan Matijević <dejan@ns.sympatico.ca>" + +#~ msgid "Gossip Website" +#~ msgstr "Veb stranica Čavrljanja" + +#~ msgid "Unable to Authenticate" +#~ msgstr "Ne mogu da se identifikujem" + +#~ msgid "Gossip, Jabber Client" +#~ msgstr "Čavrljanje, DŽaber Klijent" + +#~ msgid "About to leave..." +#~ msgstr "Upravo odlazim..." + +#~ msgid "Autoaway message" +#~ msgstr "Poruka za samoodsustvo" + +#~ msgid "Away messages" +#~ msgstr "Poruke za odsustvo" + +#~ msgid "Busy messages" +#~ msgstr "Poruke za zauzeće" + +#~ msgid "Message to show before going away" +#~ msgstr "Poruka koja se prikazuje pre odlaska" + +#~ msgid "Not at the computer" +#~ msgstr "Nisam za računarom" + +#~ msgid "Just about to leave..." +#~ msgstr "Upravo odlazim..." + +#~ msgid "Custom Busy Message..." +#~ msgstr "Posebna poruka za zauzeće..." + +#~ msgid "Leave..." +#~ msgstr "Napusti..." + +#~ msgid "New Busy Message" +#~ msgstr "Nova poruka za zauzeće" + +#~ msgid "New Away Message" +#~ msgstr "Nova poruka za odsustvo" + +#~ msgid "Working" +#~ msgstr "Radim" + +#~ msgid "Eating" +#~ msgstr "Jedem" + +#~ msgid "Sleeping" +#~ msgstr "Spavam" + +#~ msgid "Enter the new message:" +#~ msgstr "Unesite novu poruku:" + +#~ msgid "Leave" +#~ msgstr "Napusti" + +#~ msgid "" +#~ "Note: contacts can belong to multiple groups or they can be in no group " +#~ "at all." +#~ msgstr "" +#~ "Pažnja: kontakti mogu da pripadaju većem broju grupa ili nijednoj grupi." + +#~ msgid "Preset messages for quickly setting away status." +#~ msgstr "Postavljanje poruke za brzo odlaženje na odsustvo." + +#~ msgid "Preset messages for quickly setting busy status." +#~ msgstr "Postavljanje poruke za brzo podešavanje zauzeća." + +#~ msgid "Reason for being busy:" +#~ msgstr "Razlog zauzeća:" + +#~ msgid "Reason for leaving:" +#~ msgstr "Razlog odlaska:" + +#~ msgid "As _Windows" +#~ msgstr "Kao _prozori" + +#~ msgid "As a _List" +#~ msgstr "Kao _spisak" + +#~ msgid "_Go" +#~ msgstr "_Idi" + +#~ msgid "Open conversations in single window with list view" +#~ msgstr "Otvori razgovore u jednom prozoru prikazujući ih u spisku" + +#~ msgid "[Eating,Sleeping]" +#~ msgstr "[Jedem,spavam]" + +#~ msgid "[Working]" +#~ msgstr "[Radim]" + +#~ msgid "Add" +#~ msgstr "Dodaj" + +#~ msgid "Open conversations in a single window with _list view" +#~ msgstr "Otvori razgovore u jednom prozoru kao sp_isak" + +#~ msgid "<b>Away messages</b>" +#~ msgstr "<b>Poruke za odsustvo</b>" + +#~ msgid "Available:" +#~ msgstr "Dostupan:" + +#~ msgid "Away:" +#~ msgstr "Odsutan:" + +#~ msgid "Messages" +#~ msgstr "Poruke" + +#~ msgid "" +#~ "These messages are used to describe your status when you're about to " +#~ "leave and when you're away." +#~ msgstr "" +#~ "Ove poruke se koriste za opisivanje vašeg stanja kada upravo odlazite ili " +#~ "ste odsutni." + +#~ msgid "" +#~ "These messages are used to describe your status when you're available, " +#~ "about to leave, or automatically set away due to inactivity." +#~ msgstr "" +#~ "Ove poruke se koriste za opisivanje vašeg stanja kada ste dostupni, " +#~ "upravo odlazite ili ste odsutni usled neaktivnosti." + +#~ msgid "Use com_pact conversation style" +#~ msgstr "Koristi stil sa_žetog razgovora" + +#~ msgid "Use sounds to _notify when new messages arrive" +#~ msgstr "Koristi zvuk za _obaveštenje kada nova poruka stigne" + +#~ msgid "Timestamp all messages" +#~ msgstr "Označi vreme za sve poruke" + +#~ msgid "Whether or not to timestamp all messages in conversations." +#~ msgstr "Da li da doda oznake vremena na sve poruke u razgovorima." + +#~ msgid "_Timestamp all messages" +#~ msgstr "Dodaj oznaku _vremenskog trenutka na sve poruke" + +#~ msgid "Custom Away Message..." +#~ msgstr "Posebna poruka za odsustvo..." + +# Translators: See comment for "%sChat - %s". +#~ msgid "%sChat" +#~ msgstr "%sČavrljanje" + +# The extra space is to differentiate the string from Offline as status. It +# * might need a different translation, at least in Swedish. +#~ msgid "Offline " +#~ msgstr "Nepovezan" + +#~ msgid "Others" +#~ msgstr "Drugi" + +#~ msgid "Get _Info" +#~ msgstr "_Podaci" + +#~ msgid "Use ta_bs instead of windows for conversations" +#~ msgstr "Koristi _listove umesto prozora za razgovore" + +#~ msgid "I'm here" +#~ msgstr "Ovde sam" + +#~ msgid "I'm not here right now" +#~ msgstr "Trenutno nisam ovde" + +#~ msgid "Auto away enabled" +#~ msgstr "Automatski odsutan uključeno" + +#~ msgid "Extended autoaway time" +#~ msgstr "Produženo vreme za automatski odsutan" + +#~ msgid "" +#~ "The number of minutes of idle time before automatically going into \"away" +#~ "\" mode." +#~ msgstr "" +#~ "Broj minuta od neaktivnog vremena pre nego što automatski ode u mod " +#~ "\"odsutan\"" + +#~ msgid "" +#~ "The number of minutes of idle time before automatically going into " +#~ "\"extended away\" mode." +#~ msgstr "" +#~ "Broj minuta od neaktivnog vremena pre nego što automatski ode u mod " +#~ "\"dugo odsutan\"" + +#~ msgid "" +#~ "Whether or not to go into \"away\" mode automatically when a certain time " +#~ "of idling has passed." +#~ msgstr "" +#~ "Da li da ode u mod \"odsutan\" automatski kada određeno vreme " +#~ "neaktivnosti prođe." + +#~ msgid "_Busy" +#~ msgstr "_Zauzet" + +#~ msgid "Present" +#~ msgstr "Prisutni" + +#~ msgid "Timestamp messages" +#~ msgstr "Prikaži oznaku vremenskog trenutka na porukama" + +#~ msgid "Free to chat" +#~ msgstr "Slobodan za ćaskanje" + +#~ msgid "Extended away" +#~ msgstr "Dugo odsutan" + +#~ msgid "_Edit Account..." +#~ msgstr "_Uređivanje naloga..." + +#~ msgid "" +#~ "<b>Welcome to Gossip</b>\n" +#~ "\n" +#~ "Gossip is a modern client for the Jabber Instant Message system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server." +#~ msgstr "" +#~ "<b>Dobrodošli u Čavrljanje</b>\n" +#~ "\n" +#~ "Čavrljanje je moderan klijent za DŽaber Trenutne Poruke.\n" +#~ "\n" +#~ "Ovaj pomoćnik će vam pomoći da podesite Čavrljanje i konektujete se na " +#~ "vaš omiljen DŽaber server." + +#~ msgid "<b>Additional information</b>" +#~ msgstr "<b>Dodatne informacije</b>" + +#~ msgid "<b>Address</b>" +#~ msgstr "<b>Adresa</b>" + +#~ msgid "<b>Auto away</b>" +#~ msgstr "<b>Automatski odsutan</b>" + +#~ msgid "Automatically enter away mode during inactivity" +#~ msgstr "Automatski uđi u mod odsutnosti za vreme neaktivnosti" + +#~ msgid "Enter away mode after" +#~ msgstr "Uđi u mod odsutnosti posle" + +#~ msgid "I'm away eating dinner, bbiab..." +#~ msgstr "Ja sam odsutan dok večeram, vraćam se za..." + +#~ msgid "Priority:" +#~ msgstr "Važnost:" + +#~ msgid "Set the status you want to use" +#~ msgstr "Podesite stanje koje želite da koristite" + +#~ msgid "minutes" +#~ msgstr "minuta" + +#~ msgid "<b>Jabber ID:</b>" +#~ msgstr "<b>DŽaber ID:</b>" + +#~ msgid "<b>Setup Finished</b>" +#~ msgstr "<b>Postavka je završena</b>" + +#~ msgid "" +#~ "This user wants to subscribe to your presence.\n" +#~ "Do you approve?" +#~ msgstr "" +#~ "Ovaj korisnik je poslao zahtev da vidi vašu prisutnost.\n" +#~ "Da li odobravate?" + +#~ msgid "_Approve" +#~ msgstr "Odo_bri" + +#~ msgid "_Defer" +#~ msgstr "_Odbij" + +#~ msgid "Default Account" +#~ msgstr "Podrazumevani Nalog" + +#~ msgid "Could not open the address \"%s\": %s" +#~ msgstr "Ne može da pristupi adresi „%s“: %s" + +#~ msgid "<b>Available accounts</b>" +#~ msgstr "<b>Dostupni nalozi</b>" + +#~ msgid "<b>What account do you want to use for this connection?</b>" +#~ msgstr "<b>Koji nalog želite da koristite za ovu vezu?</b>" + +#~ msgid "Use SS_L" +#~ msgstr "Koristi SSL" + +#~ msgid "_User:" +#~ msgstr "Korisnik:" + +#~ msgid "What request message do you want to send to <b>micke</b>?" +#~ msgstr "Koji zahtev želite da pošaljete <b>Miljenku</b>?" diff --git a/trunk/po/sv.po b/trunk/po/sv.po new file mode 100644 index 000000000..a8a9b8ee8 --- /dev/null +++ b/trunk/po/sv.po @@ -0,0 +1,2644 @@ +# Swedish messages for Gossip. +# Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc. +# Daniel Nylander <po@danielnylander.se>, 2006. +# Richard Hult <richard@imendio.com>, 2002, 2003. +# Christian Rose <menthos@menthos.com>, 2003, 2004. +# +# $Id: sv.po,v 1.146 2006/12/26 13:12:12 dnylande Exp $ +# +# Snälla, ta *INTE* bort de extra #~-meddelandena på slutet. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2007-05-14 17:02+0100\n" +"Last-Translator: Daniel Nylander <po@danielnylander.se>\n" +"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\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/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "- Empathy snabbmeddelandeklient" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Snabbmeddelandeklient" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Öppna alltid ett separat fönster för nya chattar." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Chattfönstertema" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Kommaseparerad lista av språk att använda för stavningskontroll (tex en, fr, " +"nl)." + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "Kompakt kontaktlista" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "Sorteringskriteria för kontaktlista" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Standardkatalog att välja avatarbild från" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Aktivera popup när kontakt är tillgänglig" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Aktivera ljud under frånvaro" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Aktivera ljud under upptagetläge" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "Aktivera stavningskontroll" + +# Vi översätter "hide" med "dölj" i GNOME. Gömmer gör man något för att det +# inte ska hittas, döljer gör man för att det inte ska synas. +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Dölj huvudfönstret" + +# Vi översätter "hide" med "dölj" i GNOME. Gömmer gör man något för att det +# inte ska hittas, döljer gör man för att det inte ska synas. +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Dölj huvudfönstret." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Öppna nya chattar i separata fönster" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Visa avatarer" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "Visa tips om att stänga huvudfönstret" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Visa frånkopplade kontakter" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Rättstavningsspråk" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "Den senaste katalogen som en avatarbild valdes från." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Det tema som används för att visa samtal i chattfönster." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Använd grafiska smilisar" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Använd notifieringsljud" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "Använd tema för chattrum" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "Huruvida ord som skrivs ska kontrolleras mot språken du valt." + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Huruvida smilisar ska omvandlas till grafiska bilder eller inte i samtal." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Huruvida ljud ska spelas eller inte när meddelanden kommer." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Huruvida ljud ska spelas eller inte under frånvaro." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Huruvida ljud ska spelas eller inte under upptagetläge." + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "" +"Huruvida en popup ska visas eller inte när en kontakt blir tillgänglig." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Huruvida avatarer ska visas i kontaktlistan och chattfönster eller inte." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Huruvida frånkopplade kontakter ska visas i kontaktlistan eller inte." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"Huruvida meddelandedialogen om att stänga huvudfönstret ska visas eller inte " +"när man klickar på \"x\"-knappen i titelraden." + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "Huruvida kontaktlistan ska visas i kompakt läge eller inte." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "Huruvida tema ska användas för chattrum eller inte." + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" +"Vilket kriteria som ska användas när kontaktlistan sorteras. Standard är att " +"sortera efter kontaktens namn med värdet \"name\". Värdet \"state\" kommer " +"att sortera kontaktlistan efter tillstånd." + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Frånkopplad" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Tillgänglig" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Upptagen" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Frånvarande" + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "Visa och redigera konton" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Grupp" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "Kontakt" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +msgid "Contact List - Empathy" +msgstr "Kontaktlista - Empathy" + +# Hm? +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "Sammanhang" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "Gå in i _favoriter" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Gå in i _nytt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "Hantera favoriter..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Visa _frånkopplade kontakter" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "_Om" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Konton" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Lägg till kontakt..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Chatta" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "I_nnehåll" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "_Redigera" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "_Hjälp" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Nytt meddelande..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "_Personlig information" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "In_ställningar" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "_Avsluta" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Rum" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "_Visa tidigare samtal" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Status" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "_Visa kontaktlista" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" +"Empathy är fri programvara. Du kan distribuera det och/eller modifiera det " +"under villkoren i GNU General Public License, publicerad av Free Software " +"Foundation, antingen version 2 eller (om du så vill) någon senare version." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" +"Empathy distribueras i hopp om att det ska vara användbart, men UTAN NÅGON " +"SOM HELST GARANTI, även utan underförstådd garanti om SÄLJBARHET eller " +"LÄMPLIGHET FÖR NÅGOT SPECIELLT ÄNDAMÅL. Se GNU General Public License för " +"ytterligare information." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"Du bör ha fått en kopia av GNU General Public License tillsammans med " +"Empathy. Om inte, skriv till Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "En snabbmeddelandeklient för GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"Daniel Nylander\n" +"Christian Rose\n" +"Richard Hult\n" +"\n" +"Skicka synpunkter på översättningen till\n" +"tp-sv@listor.tp-sv.se" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +msgid "Disable" +msgstr "Inaktivera" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "Aktivera" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "<b>Inget konto valt</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"För att lägga till ett nytt konto kan du klicka på knappen \"Lägg till\" och " +"en ny post kommer att skapas för dig att börja konfigurera.\n" +"\n" +"Om du inte vill lägga till ett konto, kan du helt enkelt klicka på kontot, i " +"listan till vänster, som du vill konfigurera." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Inga konton konfigurerade</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" +"För att lägga till ett nytt konto, klicka på knappen \"Lägg till\" och en ny " +"post kommer att skapas för dig att börja konfigurera." + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Konton" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"Du håller på att ta bort kontot %s!\n" +"Är du säker att du vill fortsätta?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Eventuella samtal och chattrum kommer inte tas bort.\n" +"\n" +"Om du senare lägger till kontot igen, kommer dessa fortfarande vara " +"tillgängliga." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Konto</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +msgid "<b>New Account</b>" +msgstr "<b>Nytt konto</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +msgid "<b>Settings</b>" +msgstr "<b>Inställningar</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "Ett unikt namn på kontot för att personligen identifiera det till dig." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +msgid "Cr_eate" +msgstr "Ska_pa" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "Imendio " + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" +"För att lägga till ett nytt konto kan du klicka på knappen \"Lägg till\" och " +"en ny post kommer att skapas för dig att börja konfigurera.\n" +"\n" +"Om du inte vill lägga till ett konto, kan du helt enkelt klicka på kontot, i " +"listan till vänster, som du vill konfigurera." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "_Namn:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "_Typ:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "%s:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" +"<small><b><span foreground=\"#555\">Exempel: användare@jabber.org</span></" +"b></small>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "Glöm lösenordet och töm inmatningen." + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "Inloggningsid:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "L_ösenord:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "_Resurs:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "Använd _kryptering (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Port:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Server:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "inställningar för jabberkonto" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Ifrånkopplad" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Infoga smilis" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "_Kontrollera stavning..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Ansluten" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "T_öm" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "Ändra _ämne..." + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Chatta" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "Kontaktinfor_mation" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "Klipp _ut" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "_Bjud in..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Infoga _smilis" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +msgid "Invitation _message:" +msgstr "Inbjudnings_meddelande:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "Bjud in" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Flytta flik till _vänster" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Flytta flik till _höger" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "Välj vem du vill bjuda in:" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Du har blivit inbjuden till en chattkonferens." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "_Lägg till i favoriter" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "S_täng" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Samtal" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "_Kopiera" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Koppla loss flik" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Nästa flik" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "Klistra _in" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Föregående flik" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "_Visa kontakter" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Flikar" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Kopiera länkadress" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Öppna länk" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Nytt meddelande" +msgstr[1] "Nya meddelanden" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "Chattrum" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "Samtal" +msgstr[1] "Samtal (%d)" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Skriver ett meddelande." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "_Kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "_Grupp" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "Chatta med kontakten" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "Infor_mation" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "Visa kontaktinformation" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "Byt _namn" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "Byt namn" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "Redigera grupper och namn för kontakten" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "_Ta bort" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "Ta bort kontakt" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "_Bjud in till chattrum" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "Bjud in till ett för tillfället öppet chattrum" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "_Skicka fil..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "Skicka en fil" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "Visa tidigare samtal med denna kontakt" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Språk" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Utseende</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Ljud</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Beteende</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +msgid "<b>Contact List</b>" +msgstr "<b>Kontaktlista</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Språk</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Alternativ</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Visuellt</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>Listan visar endast språk du har en ordlista installerad för.</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "Avatarer är användarvalda bilder som visas i kontaktlistan" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "Chatt_ema:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Visa notifiering när kontakter _ansluts" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Aktivera ljud under _frånvaro" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Aktivera ljud under _upptagetläge" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Allmänt" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Notifieringar" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Inställningar" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Visa _avatarer" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Visa _smilisar som bilder" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "Visa ko_mpakt kontaktlista" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "Sortera efter _namn" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "Sortera efter _tillstånd" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Stavningskontroll" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "Teman" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "_Aktivera stavningskontroll" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "_Öppna nya chattar i separata fönster" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Spela ljud när meddelanden kommer" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "Använd för _chattrum" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Eget meddelande..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Töm listan..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "Är du säker på att du vill tömma listan?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"Detta kommer att ta bort de meddelanden du har lagt till i listan med " +"förinställda statusmeddelanden" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Töm listan" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Ange statusmeddelande:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Förinställda statusmeddelanden" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "_Lägg till i statusmeddelandelistan" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s kopplade från" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s anslöt sig" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Klassiskt" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Enkelt" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Rent" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Blått" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Anslut inte vid uppstart" + +#: ../src/empathy-main.c:155 +msgid "- Empathy Instant Messenger" +msgstr "- Empathy snabbmeddelandeklient" + +#~ msgid "Empathy" +#~ msgstr "Empathy" + +#~ msgid "Gnome Instant Messaging Client" +#~ msgstr "Snabbmeddelandeklient för Gnome" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>Om</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Klientinformation</b>" + +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Grupper</b>" + +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Namn</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Personliga detaljer</b>" + +#~ msgid "<b>Status</b>" +#~ msgstr "<b>Status</b>" + +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Prenumeration</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "" +#~ "<span size=\"smaller\">Exempel: Mikael eller användare@server.org</span>" + +#~ msgid "" +#~ "<span size=\"smaller\">Note: You must select an account if the contact is " +#~ "unknown</span>" +#~ msgstr "" +#~ "<span size=\"smaller\">Observera: Du måste välja ett konto om kontakten " +#~ "är okänd</span>" + +#~ msgid "Accou_nt:" +#~ msgstr "Ko_nto:" + +#~ msgid "Account:" +#~ msgstr "Konto:" + +#~ msgid "Add Contact" +#~ msgstr "Lägg till kontakt" + +#~ msgid "Alia_s:" +#~ msgstr "_Alias:" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Birthday:" +#~ msgstr "Födelsedag:" + +#~ msgid "C_hange" +#~ msgstr "_Ändra" + +#~ msgid "Ch_at" +#~ msgstr "Ch_atta" + +#~ msgid "Chat Rooms" +#~ msgstr "Chattrum" + +#~ msgid "Client:" +#~ msgstr "Klient:" + +#~ msgid "Con_tact:" +#~ msgstr "_Kontakt:" + +#~ msgid "Connect on S_tartup" +#~ msgstr "Anslut vid _uppstart" + +#~ msgid "Contact List - Gossip" +#~ msgstr "Kontaktlista - Gossip" + +#~ msgid "Contacts" +#~ msgstr "Kontakter" + +#~ msgid "Country:" +#~ msgstr "Land:" + +#~ msgid "Decide _Later" +#~ msgstr "Bestäm _senare" + +#~ msgid "Edit Contact" +#~ msgstr "Redigera kontakt" + +#~ msgid "Edit Groups" +#~ msgstr "Redigera grupper" + +#~ msgid "Email:" +#~ msgstr "E-post:" + +#~ msgid "ID:" +#~ msgstr "Id:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Om du väljer att bestämma dig senare kommer du att bli frågad nästa gång " +#~ "du logga in." + +#~ msgid "Information requested..." +#~ msgstr "Information begärd..." + +#~ msgid "N_ame:" +#~ msgstr "N_amn:" + +#~ msgid "Name:" +#~ msgstr "Namn:" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#~ msgid "Personal Details" +#~ msgstr "Personliga detaljer" + +#~ msgid "R_egister" +#~ msgstr "Re_gistrera" + +#~ msgid "Search" +#~ msgstr "Sök" + +#~ msgid "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." +#~ msgstr "" +#~ "Välj grupperna som du vill att denna kontakt ska finnas i, du kan välja " +#~ "fler än en grupp eller inga grupper alls." + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Ställ in det alias du vill använda för:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "Du kan hämta kontaktinformation från servern." + +#~ msgid "Spell Checker" +#~ msgstr "Stavningskontroll" + +#~ msgid "Subscription Request" +#~ msgstr "Prenumerationsförfrågan" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Förslag för ordet:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below.\n" +#~ "\n" +#~ "You can use segments of contact's name or ID, for example, \"jabber.org\" " +#~ "will list everyone using that server.\n" +#~ "\n" +#~ "You can also use the name of a group to show only contacts in a specific " +#~ "group." +#~ msgstr "" +#~ "Detta fungerar som ett filter till kontaktlistan nedan.\n" +#~ "\n" +#~ "Du kan använda delar av kontaktens namn eller id, till exempel \"jabber." +#~ "org\" kommer att lista alla som använder den servern.\n" +#~ "\n" +#~ "Du kan även använda namnet på en grupp för att endast visa kontakterna i " +#~ "en specifik grupp." + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Detta fungerar som ett filter till kontaktlistan nedan. Du kan använda " +#~ "delar av kontaktens namn eller id, till exempel \"jabber.org\" kommer att " +#~ "lista alla som använder den servern" + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "" +#~ "Detta är namnet som kommer att användas på din kontaktlista för denna " +#~ "kontakt" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "" +#~ "Detta namn kommer att användas för att identifiera dig i chattfönster" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Detta namn kommer att användas för att identifiera dig när nya kontakter " +#~ "kontrollerar din information" + +#~ msgid "Use default name here from the contact's VCard." +#~ msgstr "Använd standardnamnet här från kontaktens VCard." + +#~ msgid "Use system pro_xy" +#~ msgstr "Använd systemets pro_xyinställningar" + +#~ msgid "Version:" +#~ msgstr "Version:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Visa tidigare samtal" + +# "Web site" är "webbplats". "Web page" är "webbsida". +#~ msgid "Web site:" +#~ msgstr "Webbplats:" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Vilket konto vill du använda?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Du prenumererar inte på denna kontakt." + +#~ msgid "_Accept" +#~ msgstr "_Acceptera" + +#~ msgid "_Birthday:" +#~ msgstr "_Födelsedag:" + +#~ msgid "_Connect" +#~ msgstr "An_slut" + +#~ msgid "_Deny" +#~ msgstr "_Neka" + +#~ msgid "_Description:" +#~ msgstr "_Beskrivning:" + +#~ msgid "_Disconnect" +#~ msgstr "_Koppla ifrån" + +#~ msgid "_Email:" +#~ msgstr "_E-post:" + +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "Ange _namnet eller kontakt-id för den person du vill chatta med:" + +#~ msgid "_For:" +#~ msgstr "_För:" + +#~ msgid "_Full Name:" +#~ msgstr "_Fullständigt namn:" + +#~ msgid "_Group:" +#~ msgstr "_Grupp:" + +#~ msgid "_Nick Name:" +#~ msgstr "_Smeknamn:" + +#~ msgid "_Nickname:" +#~ msgstr "Smek_namn:" + +#~ msgid "_Password:" +#~ msgstr "_Lösenord:" + +#~ msgid "_Quit Message:" +#~ msgstr "_Avslutsmeddelande:" + +#~ msgid "_Retrieve" +#~ msgstr "_Hämta" + +#~ msgid "_Search" +#~ msgstr "_Sök" + +#~ msgid "_Subscribe" +#~ msgstr "_Prenumerera" + +# "Web site" är "webbplats". "Web page" är "webbsida". +#~ msgid "_Web site:" +#~ msgstr "_Webbplats:" + +#~ msgid "irc account settings" +#~ msgstr "inställningar för irc-konto" + +#~ msgid "msn account settings" +#~ msgstr "inställningar för msn-konto" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Snabbmeddelandeklienten Gossip" + +#~ msgid "Normal" +#~ msgstr "Normalt" + +#~ msgid "Joining" +#~ msgstr "Går in" + +#~ msgid "Active" +#~ msgstr "Aktivt" + +#~ msgid "Inactive" +#~ msgstr "Inaktivt" + +#~ msgid "Unknown" +#~ msgstr "Okänt" + +#~ msgid "Error" +#~ msgstr "Fel" + +#~ msgid "Moderator" +#~ msgid_plural "Moderators" +#~ msgstr[0] "Moderator" +#~ msgstr[1] "Moderatorer" + +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "Deltagare" +#~ msgstr[1] "Deltagare" + +#~ msgid "Visitor" +#~ msgid_plural "Visitors" +#~ msgstr[0] "Besökare" +#~ msgstr[1] "Besökare" + +#~ msgid "No role" +#~ msgstr "Ingen roll" + +#~ msgid "Owner" +#~ msgid_plural "Owners" +#~ msgstr[0] "Ägare" +#~ msgstr[1] "Ägare" + +#~ msgid "Administrator" +#~ msgid_plural "Administrators" +#~ msgstr[0] "Administrator" +#~ msgstr[1] "Administratörer" + +#~ msgid "Member" +#~ msgid_plural "Members" +#~ msgstr[0] "Medlem" +#~ msgstr[1] "Medlemmar" + +# Det måste finnas ett bättre ord +#~ msgid "Outcast" +#~ msgid_plural "Outcasts" +#~ msgstr[0] "Utstött" +#~ msgstr[1] "Utstötta" + +#~ msgid "No affiliation" +#~ msgstr "Ingen anknytning" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "Smeknamnet du har valt är upptaget." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "Chattrummet du försökte gå in i kräver ett lösenord." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "Fjärrkonferensservern svarade inte inom en rimlig tid." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "Konferensservern du försökte gå in på kunde inte hittas." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "" +#~ "Ett okänt fel har inträffat, kontrollera att dina detaljer är korrekta." + +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "Gå in i chattrummet avbröts." + +#~ msgid "Unavailable" +#~ msgstr "Otillgänglig" + +#~ msgid "An unknown error occurred." +#~ msgstr "Ett okänt fel inträffade." + +#~ msgid "Connection refused." +#~ msgstr "Anslutning vägrades." + +#~ msgid "Server address could not be resolved." +#~ msgstr "Serverns address kunde inte slås upp." + +#~ msgid "Connection timed out." +#~ msgstr "Anslutning timade ut." + +#~ msgid "Authentication failed." +#~ msgstr "Autentisering misslyckades." + +#~ msgid "The username you are trying already exists." +#~ msgstr "Användarnamnet du försöker använda existerar redan." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "Användarnamnet du försöker använda är inte giltigt." + +#~ msgid "This feature is unavailable." +#~ msgstr "Denna funktion är inte tillgänglig." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Denna funktion är inte auktoriserad." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "Ett oväntat specifikt protokollfel inträffade." + +#~ msgid "new account" +#~ msgstr "nytt konto" + +#~ msgid "Home" +#~ msgstr "Hemma" + +#~ msgid "Couldn't send message!" +#~ msgstr "Kunde inte sända meddelande!" + +#~ msgid "Connection could not be opened" +#~ msgstr "Anslutning kunde inte öppnas" + +#~ msgid "Service has gone and is no longer available" +#~ msgstr "Tjänsten ar försvunnit och finns inte längre tillgänglig" + +#~ msgid "Bad or malformed request to this service" +#~ msgstr "Felaktig eller felformulerad begäran till den här tjänsten" + +#~ msgid "Unauthorized request to this service" +#~ msgstr "Obehörig begäran till den här tjänsten" + +#~ msgid "Payment is required for this service" +#~ msgstr "Betalning krävs för den här tjänsten" + +#~ msgid "This service is forbidden" +#~ msgstr "Den här tjänsten är förbjuden" + +#~ msgid "This service is unavailable or not found" +#~ msgstr "Den här tjänsten är inte tillgänglig eller hittades inte" + +#~ msgid "Unacceptable request sent to this services" +#~ msgstr "Oaccepterbar begäran skickades till den här tjänsten" + +#~ msgid "Registration is required" +#~ msgstr "Registrering krävs" + +#~ msgid "There was a conflict of interest trying to use this service" +#~ msgstr "" +#~ "Det inträffade en intressekonflikt vid försök att använda den här " +#~ "tjänsten " + +#~ msgid "There was an internal service error" +#~ msgstr "Det inträffade ett internt fel i tjänsten" + +#~ msgid "This feature is not implemented" +#~ msgstr "Den här funktionen är inte implementerad" + +#~ msgid "The remote service timed out" +#~ msgstr "Tidsgränsen för fjärrtjänsten överstegs" + +#~ msgid "Using the %s backend" +#~ msgstr "Använder bakänden %s" + +#~ msgid "Stop" +#~ msgstr "Stopp" + +#~ msgid "Disconnect" +#~ msgstr "Koppla ifrån" + +#~ msgid "Connect" +#~ msgstr "Anslut" + +#~ msgid "All" +#~ msgstr "Alla" + +#~ msgid "Bye bye" +#~ msgstr "Hej då" + +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Registrering av dina nya kontoinställningar lyckades." + +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "Du ska nu kunna ansluta med ditt nya konto." + +#~ msgid "Failed to register your new account settings." +#~ msgstr "Misslyckades med att registrera dina nya kontoinställningar." + +#~ msgid "Successfully changed your account password." +#~ msgstr "Ditt kontolösenord ändrades." + +#~ msgid "You should now be able to connect with your new password." +#~ msgstr "Du ska nu kunna ansluta med ditt nya lösenord." + +#~ msgid "Failed to change your account password." +#~ msgstr "Misslyckades med att ändra ditt kontolösenord." + +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Ange ett nytt lösenord för det här kontot:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Ingen information finns tillgänglig för denna kontakt." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Information begärd, var vänlig vänta..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Jag vill lägga till dig i min kontaktlista." + +#~ msgid "To summarize:" +#~ msgstr "Sammanfattning:" + +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "%d nytt meddelande" +#~ msgstr[1] "%d nya meddelanden" + +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "%d prenumerationsförfrågan" +#~ msgstr[1] "%d prenumerationsförfrågan" + +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "%d filöverföringsförfrågan" +#~ msgstr[1] "%d filöverföringsförfrågan" + +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "%d servermeddelande" +#~ msgstr[1] "%d servermeddelanden" + +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "%d fel" +#~ msgstr[1] "%d fel" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Om du avslutar kommer all oläst information förloras." + +#~ msgid "Gossip is still running, it is just hidden." +#~ msgstr "Gossip kör fortfarande, den är bara dold." + +#~ msgid "Click on the notification area icon to show Gossip." +#~ msgstr "Klicka på ikonen i notifieringsytan för att visa Gossip." + +#~ msgid "You were about to quit!" +#~ msgstr "Du är på väg att avsluta!" + +#~ msgid "" +#~ "Since no system or notification tray has been found, this action would " +#~ "normally quit Gossip.\n" +#~ "\n" +#~ "This is just a reminder, from now on, Gossip will quit when performing " +#~ "this action unless you uncheck the option below." +#~ msgstr "" +#~ "Eftersom ingen system- eller notifieringslåda har hittats skulle denna " +#~ "åtgärd normalt sett avslutat Gossip.\n" +#~ "\n" +#~ "Detta är bara en påminnelse, från och med nu kommer Gossip att avslutas " +#~ "när denna åtgärd genomförs såvida du inte avkryssar alternativet nedan." + +#~ msgid "Edit Account _Details" +#~ msgstr "Redigera konto_detaljer" + +#~ msgid "Click to enlarge" +#~ msgstr "Klicka för att förstora" + +#~ msgid "Word" +#~ msgstr "Ord" + +#~ msgid "Select who would you like to invite to room:" +#~ msgstr "Välj vilka du vill bjuda in till rummet:" + +#~ msgid "Select which room you would like to invite:" +#~ msgstr "Välj vilket rum du vill bjuda in till:" + +#~ msgid "New message from %s" +#~ msgstr "Nytt meddelande från %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "Ditt inbjudan har nekats." + +#~ msgid "Accept" +#~ msgstr "Acceptera" + +#~ msgid "Decline" +#~ msgstr "Neka" + +#~ msgid "Name" +#~ msgstr "Namn" + +#~ msgid "Room" +#~ msgstr "Rum" + +#~ msgid "Server" +#~ msgstr "Server" + +#~ msgid "Auto Connect" +#~ msgstr "Anslut automatiskt" + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "Vill du ta bort denna kontakt från din kontaktlista?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Ange ett nytt namn för gruppen:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Markera" + +#~ msgid "Unsorted" +#~ msgstr "Osorterade" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server." +#~ msgstr "" +#~ "Ställ in det alias du vill använda för:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Du kan hämta kontaktinformation från servern." + +#~ msgid "New file transfer request from %s" +#~ msgstr "Ny filöverföringsförfrågan från %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "Filöverföring stöds inte av båda parter." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Ditt erbjudande om filöverföring nekades." + +#~ msgid "The other user decided not to continue." +#~ msgstr "Den andra användaren beslöts sig för att inte fortsätta." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Ett okänt fel inträffade under filöverföringen." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s vill skicka en fil till dig." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Någon vill skicka en fil till dig." + +#~ msgid "Select a file" +#~ msgstr "Välj en fil" + +#~ msgid "Connecting..." +#~ msgstr "Ansluter..." + +#~ msgid "Retry connection" +#~ msgstr "Återanslut" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "Inbjöd %s till att gå med i chattkonferens." + +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s har satt ämnet: %s" + +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Ange det nya ämnet som du vill ställa in för det här rummet:" + +#~ msgid "%s has joined the room" +#~ msgstr "%s har gått in i rummet" + +#~ msgid "%s has left the room" +#~ msgstr "%s har lämnat rummet" + +#~ msgid "Topic: %s" +#~ msgstr "Ämne: %s" + +#~ msgid "Account" +#~ msgstr "Konto" + +#~ msgid "Conversation With" +#~ msgstr "Samtal med" + +#~ msgid "Date" +#~ msgstr "Datum" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "Tillåt flera instanser av applikationen att köras samtidigt" + +# "Lista" som verb brukar vi inte använda; hellre "visa" eller möjligtvis +# "visa i lista" +#~ msgid "List the available accounts" +#~ msgstr "Visa tillgängliga konton" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Konto att ansluta till vid uppstart" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "KONTONAMN" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "Du kan inte använda --no-connect tillsammans med --account" + +#~ msgid "No accounts available." +#~ msgstr "Inga konton tillgängliga." + +#~ msgid "Available accounts:" +#~ msgstr "Tillgängliga konton:" + +#~ msgid "[default]" +#~ msgstr "[standard]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Det finns inget konto med namnet \"%s\"." + +#~ msgid "Join" +#~ msgstr "Gå in" + +#~ msgid "Create" +#~ msgstr "Skapa" + +#~ msgid "Found %d conference rooms" +#~ msgstr "Hittade %d konferensrum" + +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Bläddrar efter konferensrum, vänta..." + +#~ msgid "Browsing cancelled!" +#~ msgstr "Bläddring avbröts!" + +#~ msgid "Default" +#~ msgstr "Standard" + +#~ msgid "Chat!" +#~ msgstr "Chatta!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s vill bli tillagd till din kontaktlista." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Någon vill bli tillagd till din kontaktlista." + +#~ msgid "Subscription request" +#~ msgstr "Prenumerationsbegäran" + +#~ msgid "Show" +#~ msgstr "Visa" + +#~ msgid "Contact Information" +#~ msgstr "Kontaktinformation" + +#~ msgid "Contact has been removed" +#~ msgstr "Kontakten har tagits bort" + +#~ msgid "Subject: %s" +#~ msgstr "Ämne: %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Förslag för ordet" + +#~ msgid "New subscription request from %s" +#~ msgstr "Prenumerationsförfrågan från %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Vill du lägga till denna person till din kontaktlista?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Vill du lägga till %s till din kontaktlista?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Ange lösenordet för kontot %s" + +#~ msgid "Logging in to account '%s'" +#~ msgstr "Loggar in mot kontot \"%s\"" + +#~ msgid "Remember Password?" +#~ msgstr "Kom ihåg lösenord?" + +#~ msgid "Do not show this again" +#~ msgstr "Visa inte det här igen" + +#~ msgid "Could not display the help contents." +#~ msgstr "Kunde inte visa hjälpinnehållet." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Välj din avatarbild" + +#~ msgid "No Image" +#~ msgstr "Ingen bild" + +#~ msgid "Cancel" +#~ msgstr "Avbryt" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Servern verkar inte svara." + +#~ msgid "Try again later." +#~ msgstr "Försök igen senare." + +#~ msgid "Change" +#~ msgstr "Ändra" + +#~ msgid "Contact goes offline" +#~ msgstr "Kontakt kopplas ner" + +#~ msgid "Contact goes online" +#~ msgstr "Kontakt ansluts" + +#~ msgid "Contact ID:" +#~ msgstr "Kontakt-id:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Vill du acceptera denna fil?" + +#~ msgid "File Transfer Request" +#~ msgstr "Filöverföringsförfrågan" + +#~ msgid "File name:" +#~ msgstr "Filnamn:" + +# "Web site" är "webbplats". "Web page" är "webbsida". +#~ msgid "File size:" +#~ msgstr "Filstorlek:" + +#~ msgid "Not supported yet" +#~ msgstr "Stöds inte ännu" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Denna person vill skicka den här filen till dig:" + +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Ämne:</b>" + +#~ msgid "Browse:" +#~ msgstr "Bläddra:" + +#~ msgid "Edit Favorite Room" +#~ msgstr "Redigera favoritrum" + +#~ msgid "" +#~ "Enter the room name to join here or click on one or more rooms in the " +#~ "list." +#~ msgstr "" +#~ "Ange rumsnamnet för att gå in i eller klicka på ett eller flera rum i " +#~ "listan." + +#~ msgid "Group Chat" +#~ msgstr "Gruppchatt" + +#~ msgid "Join New" +#~ msgstr "Gå in i nytt" + +#~ msgid "Join room on start_up" +#~ msgstr "Gå in i rummet vid uppstart" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "Gå in i detta chattrum när Gossip startar och du ansluts" + +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Hantera favoritrum" + +#~ msgid "Re_fresh" +#~ msgstr "Uppda_tera" + +#~ msgid "S_erver:" +#~ msgstr "S_erver:" + +#~ msgid "" +#~ "This list represents all chat rooms hosted on the server you have entered." +#~ msgstr "" +#~ "Den här listan representerar alla chattrum som finns på servern som du " +#~ "har gått in på." + +#~ msgid "_Room:" +#~ msgstr "_Rum:" + +#~ msgid "me" +#~ msgstr "jag" + +#~ msgid "Protocol:" +#~ msgstr "Protokoll:" + +#~ msgid "Choose the protocol" +#~ msgstr "Välj protokollet" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "%s - New Message" +#~ msgstr "%s - Nytt meddelande" + +#~ msgid "%s - Conversation" +#~ msgstr "%s - Samtal" + +#~ msgid "_Forget" +#~ msgstr "_Glöm" + +#~ msgid "Martyn Russell" +#~ msgstr "Martyn Russell" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Ställ in det alias du vill använda för:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "Du kan hämta kontaktinformation från servern. " + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Group:" +#~ msgstr "Grupp:" + +# "Web site" är "webbplats". "Web page" är "webbsida". +#~ msgid "Web Site:" +#~ msgstr "Webbplats:" + +#~ msgid "Favourite" +#~ msgstr "Favorit" + +#~ msgid "Add to _favourites" +#~ msgstr "_Lägg till i favoriter" + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "Anpassa ditt smeknamn, servern och chattrummet du vill gå in i." + +#~ msgid "Edit your chat room details:" +#~ msgstr "Redigera chattrumsdetaljer:" + +#~ msgid "Na_me:" +#~ msgstr "Na_mn:" + +#~ msgid "New Chat Room" +#~ msgstr "Nytt chattrum" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "" +#~ "Välj ett sparat chattrum nedan och tryck Gå in för att börja chatta." + +#~ msgid "Save _this chat room" +#~ msgstr "Spara detta chattrum" + +#~ msgid "Nickname:" +#~ msgstr "Smeknamn:" + +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "Tryck på Prenumerera för att ta emot kontaktens status" + +#~ msgid "_Group Chat" +#~ msgstr "_Gruppchatt" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "Du har inte konfigurerar ett snabbmeddelandekonto!" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "" +#~ "Kontoinformationsdialogen kommer nu att visas så att du kan mata in din " +#~ "information." + +#~ msgid "Registering account" +#~ msgstr "Registrerar konto" + +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Exempel:</span>" + +#~ msgid "Account Name" +#~ msgstr "Kontonamn" + +#~ msgid "Connection Details" +#~ msgstr "Anslutningsdetaljer" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Har du redan ett konto på en server?" + +#~ msgid "Enter a name for this account" +#~ msgstr "Ange ett namn för detta konto" + +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "Ange porten att ansluta till för detta konto" + +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "Ange den server som ska anslutas till för detta konto" + +#~ msgid "Enter your real name here" +#~ msgstr "Ange ditt riktiga namn här" + +#~ msgid "Finished" +#~ msgstr "Slutfört" + +#~ msgid "For increased security, enable this option" +#~ msgstr "För ökad säkerhet, aktivera detta val" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip är en modern klient för snabbmeddelandesystemet Jabber.\n" +#~ "\n" +#~ "Denna guide kommer att hjälpa dig att konfigurera Gossip och ansluta dig " +#~ "till din Jabber-favoritserver.\n" +#~ "\n" +#~ "För att börja klickar du bara på \"Framåt\"." + +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option" +#~ msgstr "" +#~ "Om du har en annan dator på ditt nätverk som fungerar som proxy för " +#~ "anslutningar till internet och du vill använda den, aktivera detta " +#~ "alternativ" + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "Om du behöver ställa in specifika anslutningsdetaljer, som en annan " +#~ "server eller port, kan du konfigurera det här:" + +#~ msgid "" +#~ "Leave this blank if you don't want your password stored on a public " +#~ "machine. If you decide to do this, you will be prompted each time you " +#~ "connect for a password" +#~ msgstr "" +#~ "Lämna denna blank om du inte vill lagra ditt lösenord på en publik dator. " +#~ "Om du väljer att göra det, kommer du att frågas efter ett lösenord varje " +#~ "gång du ansluter" + +#~ msgid "Port:" +#~ msgstr "Port:" + +#~ msgid "Registering Account" +#~ msgstr "Registrerar konto" + +#~ msgid "Resource:" +#~ msgstr "Resurs:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Välkommen till Gossip" + +#~ msgid "What is your name?" +#~ msgstr "Vad heter du?" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "Vilket namn vill du använda för att identifiera detta konto?\n" +#~ "\n" +#~ "Detta namn skulle kunna vara något som kan kopplas ihop med " +#~ "tjänsteleverantören, till exempel <b>Google</b>." + +#~ msgid "What password do you want to use?" +#~ msgstr "Vilket lösenord vill du använda?" + +#~ msgid "What username do you use?" +#~ msgstr "Vad använder du för användarnamn?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Vilket användarnamn vill du använda?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Du kan ändra dina kontoinställningar senare genom att välja menyvalet " +#~ "Redigera->Konton." + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "" +#~ "Du behöver ställa in ett namn för anslutningen, till exempel <b>Hem</b> " +#~ "eller <b>Bärbar dator</b>." + +#~ msgid "Your Account" +#~ msgstr "Ditt konto" + +#~ msgid "Your Identity" +#~ msgstr "Din identitet" + +#~ msgid "Your new account has now been set up." +#~ msgstr "Ditt nya konto är nu inställt." + +#~ msgid "_No" +#~ msgstr "_Nej" + +#~ msgid "_Yes" +#~ msgstr "_Ja" + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Information begärd, var vänlig vänta...</b>" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s kommer att läggas till i din kontaktlista." + +#~ msgid "%s ID of new contact:" +#~ msgstr "%s id för ny kontakt:" + +#~ msgid "Example: %s" +#~ msgstr "Exempel: %s" + +#~ msgid "Add a contact" +#~ msgstr "Lägg till en kontakt" + +#~ msgid "Contact information" +#~ msgstr "Kontaktinformation" + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Ange användarens kontakt-ID:" + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "För att kunna prenumerera på närvaronotifikationer från användaren kommer " +#~ "en förfrågan att skickas. Användaren kommer alltid att visas som " +#~ "\"Frånkopplad\" i din kontaktlista till dess att denna förfrågan är " +#~ "godkänd." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "I vilken grupp vill du placera denna kontakt?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber-id:" + +#~ msgid "Sending request" +#~ msgstr "Skickar förfrågan" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Vilket meddelandesystem använder kontakten?" + +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Till vilket konto vill du lägga till denna kontakt?" + +#~ msgid "_Search..." +#~ msgstr "_Sök..." + +#~ msgid "_Compact contact list" +#~ msgstr "_Kompakt kontaktlista" + +#~ msgid "Show accounts and pending connections" +#~ msgstr "Visa konton och avvaktande anslutningar" + +#~ msgid "Edit" +#~ msgstr "Redigera" + +#~ msgid "Connecting" +#~ msgstr "Ansluter" + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "Försöker du kanske ansluta till fel port?" + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "Tjänsten kanske inte är igång just nu?" + +#~ msgid "Check your connection details." +#~ msgstr "Kontrollera dina anslutningsdetaljer." + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "Servern kanske inte kör denna tjänsten." + +#~ msgid "Check your username and password are correct." +#~ msgstr "Kontrollera att användarnamn och lösenord är korrekta." + +#~ msgid "Re_name group" +#~ msgstr "Byt _namn på grupp" + +#~ msgid "Rename group" +#~ msgstr "Byt namn på grupp" + +#~ msgid "_Remove contact" +#~ msgstr "_Ta bort kontakt" + +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "" +#~ "Ange ditt inbjudningsmeddelande till:\n" +#~ "%s" + +#~ msgid "Rename contact" +#~ msgstr "Byt _namn på kontakt" + +# Vi brukar förvisso låta R:et vara åtkomsttangent i "Redigera" +#~ msgid "_Edit Groups" +#~ msgstr "R_edigera grupper" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Ange ett nytt smeknamn för kontakten\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Redigera grupper för %s" + +# Vi översätter "hide" med "dölj" i GNOME. Gömmer gör man något för att det +# inte ska hittas, döljer gör man för att det inte ska synas. +#~ msgid "_Hide Contact List" +#~ msgstr "_Dölj kontaktlista" + +#~ msgid "/Contact Infor_mation" +#~ msgstr "/Kontaktinfor_mation" + +#~ msgid "/_View Previous Conversations" +#~ msgstr "/Visa tidigare samtal" + +#~ msgid "Enable Spell Checker" +#~ msgstr "Aktivera stavningskontroll" + +#~ msgid "Preset status messages" +#~ msgstr "Förinställda statusmeddelanden" + +#~ msgid "Preset status messages." +#~ msgstr "Förinställda statusmeddelanden." + +#~ msgid "Peekaboo" +#~ msgstr "Peekaboo" + +# Vi översätter "hide" med "dölj" i GNOME. Gömmer gör man något för att det +# inte ska hittas, döljer gör man för att det inte ska synas. +#~ msgid "_Show/Hide Contact List" +#~ msgstr "_Dölj/Visa kontaktlista" + +#~ msgid "Send someone an Instant Message" +#~ msgstr "Skicka ett snabbmeddelande till någon" + +#~ msgid "An instant messaging applet." +#~ msgstr "En snabbmeddelandeklient för GNOME" + +#~ msgid "Contact Information for %s" +#~ msgstr "Kontaktinformation för %s" + +#~ msgid "Convert smiley text into images when chatting" +#~ msgstr "Konvertera textsmilisar till bilder" + +#~ msgid "Be silent when away" +#~ msgstr "Var tyst under frånvaro" + +#~ msgid "Be silent when busy" +#~ msgstr "Var tyst under upptagetläge" + +#~ msgid "<b>Chat Window</b>" +#~ msgstr "<b>Chattfönster</b>" + +#~ msgid "Join _Group Chat..." +#~ msgstr "_Gå in i gruppchatt..." + +#~ msgid "Available..." +#~ msgstr "Tillgänglig..." + +#~ msgid "Busy..." +#~ msgstr "Upptagen..." + +#~ msgid "Away..." +#~ msgstr "Frånvarande..." + +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "Begär kontaktinformation, var vänlig vänta..." + +#~ msgid "Height of main window" +#~ msgstr "Höjden på huvudfönstret" + +#~ msgid "The X position of the main window." +#~ msgstr "X-positionen av huvudfönstret." + +#~ msgid "The Y position of the main window." +#~ msgstr "Y-positionen av huvudfönstret." + +#~ msgid "The width of the main window." +#~ msgstr "Bredden på huvudfönstret." + +#~ msgid "Whether spell checking should be turned on." +#~ msgstr "Huruvida stavningskontroll ska vara påslaget." + +#~ msgid "Width of the main window" +#~ msgstr "Bredden på huvudfönstret" + +#~ msgid "X position of main window" +#~ msgstr "X-positionen av huvudfönstret" + +#~ msgid "Y position of main window" +#~ msgstr "Y-positionen av huvudfönstret" + +#~ msgid "<b>Appearance and Behavior</b>" +#~ msgstr "<b>Utseende och beteende</b>" + +#~ msgid "Check spelling while I _type" +#~ msgstr "Kontrollera stavning medan jag skriver" + +#~ msgid "Close this chat window" +#~ msgstr "Stäng detta chattfönster" + +#~ msgid "Requested Information" +#~ msgstr "Information efterfrågad" + +#~ msgid "Requested information." +#~ msgstr "Information efterfrågad." + +#~ msgid "/_Contact Information" +#~ msgstr "/_Kontaktinformation" + +#~ msgid "Contact _Information" +#~ msgstr "Kontakti_nformation" + +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - konton" + +#~ msgid "Por_t:" +#~ msgstr "_Port:" + +#~ msgid "/_Invite to Chat Conference" +#~ msgstr "/_Bjud in till chattkonferens" + +#~ msgid "Send Message" +#~ msgstr "Skicka meddelande" + +#~ msgid "%s has gone offline" +#~ msgstr "%s kopplade från" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "/View Message _History" +#~ msgstr "/Visa _meddelandehistorik" + +#~ msgid "View Message _History" +#~ msgstr "Visa _meddelandehistorik" + +#~ msgid "View Message Hi_story" +#~ msgstr "Visa _meddelandehistorik" + +#~ msgid "View Message History" +#~ msgstr "Visa meddelandehistorik" + +#~ msgid "%sChat - %s" +#~ msgstr "%sChatt - %s" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - gruppchatt" + +#~ msgid "Gossip - New Chatroom" +#~ msgstr "Gossip - nytt chattrum" + +#~ msgid "Gossip - Add contact" +#~ msgstr "Gossip - lägg till kontakt" + +#~ msgid "Gossip - Contact Information" +#~ msgstr "Gossip - kontaktinformation" + +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - redigera grupper" + +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - nytt konto" + +#~ msgid "Gossip - Personal Details" +#~ msgstr "Gossip - personlig information" + +#~ msgid "Gossip - Preferences" +#~ msgstr "Gossip - inställningar" + +#~ msgid "Gossip - Spell Checker" +#~ msgstr "Gossip - stavningskontroll" + +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - statusmeddelande" + +#~ msgid "Gossip - View Message History" +#~ msgstr "Gossip - visa meddelandehistorik" + +#~ msgid "Written by:" +#~ msgstr "Skrivet av:" + +#~ msgid "Artwork by:" +#~ msgstr "Grafik av:" + +#~ msgid "Translated by:" +#~ msgstr "Översatt av:" + +#~ msgid "/Show _Log" +#~ msgstr "/_Visa logg" + +#~ msgid "View Lo_g" +#~ msgstr "_Visa logg" + +#~ msgid "" +#~ "You can identify this account with a name, for example, <b>Home</b> or " +#~ "<b>Work</b>. Choose a name for this account:" +#~ msgstr "" +#~ "Du kan identifiera detta kontot med ett namn, till exempel <b>Hemma</b> " +#~ "eller <b>Jobb</b>. Välj ett namn för kontot:" + +#~ msgid "Open" +#~ msgstr "Öppet" + +#~ msgid "Account ID" +#~ msgstr "Kontoid" + +#~ msgid "Could not open connection" +#~ msgstr "Kunde inte öppna anslutning" + +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Kunde inte hitta servern du ville använda" + +#~ msgid "Connection to the server failed." +#~ msgstr "Anslutningen till servern misslyckades." + +#~ msgid "Authentication failed" +#~ msgstr "Autentisering misslyckades" + +#~ msgid "Connection could not be created" +#~ msgstr "Anslutning kunde inte skapas" + +#~ msgid "Bad Request" +#~ msgstr "Felaktig förfrågan" + +#~ msgid "Payment Required" +#~ msgstr "Betalning krävd" + +#~ msgid "Forbidden" +#~ msgstr "Förbjudet" + +#~ msgid "Not Found" +#~ msgstr "Inte hittad" + +#~ msgid "Not Allowed" +#~ msgstr "Inte tillåten" + +#~ msgid "Not Acceptable" +#~ msgstr "Inte acceptabel" + +#~ msgid "Request Timeout" +#~ msgstr "Förfrågan timade ut" + +#~ msgid "Conflict" +#~ msgstr "Konflikt" + +#~ msgid "Not Implemented" +#~ msgstr "Inte implementerat" + +#~ msgid "Remote Server Error" +#~ msgstr "Fjärrserverfel" + +#~ msgid "Service Unavailable" +#~ msgstr "Tjänst otillgänglig" + +#~ msgid "Unknown error." +#~ msgstr "Okänt fel." + +#~ msgid "Custom" +#~ msgstr "Anpassad" + +#~ msgid "Check the server host name is correct and is available." +#~ msgstr "" +#~ "Kontrollera att serverns namn är korrent och att den finns tillgänglig." + +# Dessa meddelanden slutar inte båda i punkt, borde kanske rapporteras +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip kommer nu att försöka använda ditt konto:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip kommer nu att försöka registrera kontot:" + +#~ msgid "Reason:" +#~ msgstr "Orsak:" + +#~ msgid "R_esource:" +#~ msgstr "R_esurs:" + +#~ msgid "<b>Personal Information</b>" +#~ msgstr "<b>Personlig information</b>" + +#~ msgid "Choose a Server" +#~ msgstr "Välj en server" + +#~ msgid "On what server do you have an account?" +#~ msgstr "På vilken server har du ett konto?" + +#~ msgid "_Jabber ID of new contact:" +#~ msgstr "_Jabber-id för ny kontakt:" + +#~ msgid "<b>Preferences</b>" +#~ msgstr "<b>Inställningar</b>" + +#~ msgid "Connect _Server:" +#~ msgstr "Anslut till _server:" + +#~ msgid "_Automatically Connect" +#~ msgstr "_Anslut automatiskt" + +#~ msgid "_Resource:" +#~ msgstr "_Resurs:" + +#~ msgid "" +#~ "The default account is used for information like your name in chat " +#~ "windows." +#~ msgstr "" +#~ "Standardkontot används för information som ditt namn i chattfönster." + +#~ msgid "_Connect..." +#~ msgstr "_Anslut..." + +#, fuzzy +#~ msgid "" +#~ "<b>Configuring your new service...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>Söker efter den bästa servern...</b>\n" +#~ "Detta kommer att ta en stund, var god vänta." + +#, fuzzy +#~ msgid "<b>Preferred Service</b>" +#~ msgstr "<b>Rekommenderade tjänster</b>" + +#~ msgid "<b>Recommended Services</b>" +#~ msgstr "<b>Rekommenderade tjänster</b>" + +#, fuzzy +#~ msgid "" +#~ "<b>Requested service requirements...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>Söker efter den bästa servern...</b>\n" +#~ "Detta kommer att ta en stund, var god vänta." + +#~ msgid "Add Account" +#~ msgstr "Lägg till konto" + +#~ msgid "Add Another Account" +#~ msgstr "Lägg till ytterligare konto" + +#~ msgid "Configuring Service" +#~ msgstr "Konfigurerar tjänst" + +#~ msgid "Nick name:" +#~ msgstr "Smeknamn:" + +#~ msgid "Please complete the details below to set up your account: " +#~ msgstr "Fyll i detaljerna nedan för att ställa in ditt konto: " + +#~ msgid "Remove Account" +#~ msgstr "Ta bort konto" + +#~ msgid "Service Details" +#~ msgstr "Tjänstedetaljer" + +#~ msgid "Service:" +#~ msgstr "Tjänst:" + +#~ msgid "" +#~ "This wizard will allow you to configure your account settings for another " +#~ "protocol. " +#~ msgstr "" +#~ "Denna guide kommer att låta dig konfigurera dina kontoinställningar för " +#~ "ytterligare ett protokoll. " + +#, fuzzy +#~ msgid "Transport Accounts" +#~ msgstr "Jabberkonto" + +#~ msgid "Which protocol would you like to set up? " +#~ msgstr "Vilket protokoll vill du konfigurera? " + +#~ msgid "Edit List..." +#~ msgstr "Redigera listan..." + +#~ msgid "Gossip - Status Presets" +#~ msgstr "Gossip - förinställd status" + +#, fuzzy +#~ msgid "Choose _from list:" +#~ msgstr "Välj från lista:" + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#, fuzzy +#~ msgid "Use a _different server" +#~ msgstr "Använd en annan server" + +#~ msgid "_Account Information" +#~ msgstr "_Kontoinformation" + +#~ msgid "Searching Local Services..." +#~ msgstr "Söker lokala tjänster..." + +#, fuzzy +#~ msgid "This will be used to configure your account details." +#~ msgstr "" +#~ "Denna guide kommer att låta dig konfigurera dina kontoinställningar för " +#~ "ytterligare ett protokoll." + +#, fuzzy +#~ msgid "Configuring Roster" +#~ msgstr "Konfigurerar tjänst" + +#, fuzzy +#~ msgid "Registration Successful!" +#~ msgstr "Registrerar konto" + +#~ msgid "Service" +#~ msgstr "Tjänst" + +#, fuzzy +#~ msgid "Registering With Service" +#~ msgstr "Konfigurerar tjänst" + +#~ msgid "From:" +#~ msgstr "Från:" + +#~ msgid "In reply to:" +#~ msgstr "Svar på:" + +#~ msgid "To:" +#~ msgstr "Till:" + +#~ msgid "_Reply..." +#~ msgstr "_Svara..." + +#~ msgid "_Send" +#~ msgstr "_Skicka" + +#~ msgid "<b>Connect to server</b>" +#~ msgstr "<b>Anslut till server</b>" + +#~ msgid "C_onnect" +#~ msgstr "A_nslut" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber-id:" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>Tillgängliga chattrum</b>" + +#~ msgid "N_ickname:" +#~ msgstr "Smek_namn:" + +#~ msgid "_Add" +#~ msgstr "_Lägg till" + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Förinställda statusmeddelanden</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Informationen inte tillgänglig</i>" + +#~ msgid "Information about ..." +#~ msgstr "Information om..." + +#~ msgid "Jabber Account" +#~ msgstr "Jabberkonto" + +#~ msgid "Personal information" +#~ msgstr "Personlig information" + +#~ msgid "Status Message" +#~ msgstr "Statusmeddelande" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Vilket förfrågansmeddelande vill du skicka till %s?" + +#~ msgid "%s wants to be notified of your status." +#~ msgstr "%s vill bli meddelad om din status." + +#~ msgid "Add to your contact list" +#~ msgstr "Lägg till i din kontaktlista" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Vilket förfrågansmeddelande vill du skicka till ..." + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Kontrollera att din kontoinformation är korrekt." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Du frånkopplades från servern. Vill du återansluta?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Kontrollera att din kontoinformation är korrekt. Servern kan också vara " +#~ "otillgänglig för tillfället." + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "Ett fel inträffade under samtal i gruppchatten %s." + +#~ msgid "Details:" +#~ msgstr "Detaljer:" + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Kunde inte gå in i gruppchatten %s." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "Ett fel inträffade under chatt med %s." + +#~ msgid "Discover Services" +#~ msgstr "Upptäck tjänster" + +#~ msgid "Sound" +#~ msgstr "Ljud" + +#~ msgid "" +#~ "Please enter your user name, password and all other required details " +#~ "below to set up your account." +#~ msgstr "" +#~ "Ange ditt användarnamn, lösenord och alla andra nödvändiga detaljer nedan " +#~ "för att konfigurera ditt konto." + +#~ msgid "Username:" +#~ msgstr "Användarnamn:" diff --git a/trunk/po/tr.po b/trunk/po/tr.po new file mode 100644 index 000000000..6d60e755e --- /dev/null +++ b/trunk/po/tr.po @@ -0,0 +1,854 @@ +# translation of tr.po to Turkish +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Görkem Çetin <gorkem@kde.org>, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: tr\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-03-21 11:55+0000\n" +"Last-Translator: Görkem Çetin <gorkem@kde.org>\n" +"Language-Team: Turkish <kde-i18n-tr@kde.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: ../data/empathy.desktop.in.h:1 +msgid "Empathy Instant Messenger" +msgstr "" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +msgid "Compact contact list" +msgstr "" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "" + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "" + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +msgid "Whether to show the contact list in compact mode or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.c:254 +msgid "Show and edit accounts" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +msgid "Contact List - Empathy" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +msgid "Join _Favorites" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +msgid "Disable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +msgid "<b>No Account Selected</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +msgid "<b>No Accounts Configured</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +msgid "<b>New Account</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +msgid "<b>Settings</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +msgid "Cr_eate" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +msgid "_Type:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +msgid "Use encryption (SS_L)" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +msgid "In_vite..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +msgid "Invitation _message:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "" +msgstr[1] "" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "" +msgstr[1] "" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +msgid "<b>Contact List</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +msgid "Show co_mpact contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "" + +#: ../src/empathy-main.c:155 +msgid "- Empathy Instant Messenger" +msgstr "" diff --git a/trunk/po/uk.po b/trunk/po/uk.po new file mode 100644 index 000000000..92f447985 --- /dev/null +++ b/trunk/po/uk.po @@ -0,0 +1,1915 @@ +# Ukrainian translation for gossip +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the gossip package. +# Sergiy Dolgopolov <virgo@gnome.org.ua>, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip 0.7.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-05-17 20:45+0200\n" +"Last-Translator: Sergiy Dolgopolov <virgo@gnome.org.ua>\n" +"Language-Team: Ukrainian <uk@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Програма для обміну повідомленнями" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Програма для обміну повідомленнями" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Додати в список контактів" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "Не програвати звук у стані \"Відійшов\"" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "Не програвати звук у стані \"зайнятий \"" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Gossіp - Відправлення повідомлення" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Сховати головне вікно" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Сховати головне вікно" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "Показати список контактів" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "Висота головного вікна." + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Показувати відсутніх" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Використовувати графічні смайли" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Використовувати звуки" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "Чи конвертувати смайли в графічне представлення." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Чи використовувати звук при приході повідомлення." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Чи програвати звук коли статус відсутність." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Чи програвати звук коли статус зайнятий." + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Чи використовувати звук при приході повідомлення." + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "Чи показувати відсутніх користувачів у контактному листі." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "Чи показувати відсутніх користувачів у контактному листі." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Чи показувати відсутніх користувачів у контактному листі." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Відключений" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Доступний" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Зайнятий" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Відійшов" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "Показати список контактів" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Група" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "_Додати контакт..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "_Сховати список контактів" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "З'єднатися" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "_Редагувати переваги..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "_Показувати відсутніх" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "_Підтвердити" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "_Підтвердити" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "_Додати контакт..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "_Дії" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "З'єднатися" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "_Послати повідомлення..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "Особиста інформація" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "_Настройки" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "_Кімната:" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "_Бесіда" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Стан" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "Показати список контактів" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip, Клієнт Jabber для середовища GNOME" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "Sergiy Dolgopolov" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Доступний" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Переваги:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Переваги:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Обліковий запис Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>Переваги:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Переваги:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "Стан" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Розмова" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "Назва:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Тема:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Приклад: user@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "_Пароль:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "_Ресурс:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Використовувати _шифрування (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "П_орт:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "_Сервер:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Від'єднаний" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "З'єднаний" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "О_чистити" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Розмова" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "_Контактна інформація" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "Розмова" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "_Реєстрація..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Вести повідомлення стану:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Перемістити закладку вліво" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Перемістити закладку вправо" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "_Редагувати переваги..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "_Бесіда" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "_Відокремити закладку" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "_Наступна закладка" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "_Попередня закладка" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "Показати список контактів" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Закладки" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Скопіювати адресу посилання" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Відкрити посилання" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "_Послати повідомлення..." +msgstr[1] "_Послати повідомлення..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossіp - Розмова" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "_Бесіда" +msgstr[1] "_Бесіда" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "_Додати контакт..." + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "Група" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "Додати контакт" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "_Контактна інформація" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "Контактна інформація" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/_Перейменувати групу" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "_Ім'я користувача:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "" +"Ведіть псевдонім для контакту\n" +"%s" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "Видалити" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/_Видалити контакт" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossіp - Редагування кімнат" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "Вибір" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "_Бесіда" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>Переваги:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>Переваги:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "Стан" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "З'єднатися" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>Переваги:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "Назва _кімнати:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "Не програвати звук у стані \"Відійшов\"" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "Не програвати звук у стані \"зайнятий \"" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "Використовувати звуки" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "_Настройки" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "Показувати графічні смайли" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "Показати список контактів" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "Програвати звук при приході повідомлення" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gossіp - Редагування кімнат" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "Повідомлення запиту" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "О_чистити" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "Підтвердити запит?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "О_чистити" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Вести повідомлення стану:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "Повідомлення стану" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "Задані повідомлення стану" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s відключився" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s підключився" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "О_чистити" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Не з'єднуватися при запуску" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "Програма для обміну повідомленнями" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Програма для обміну повідомленнями" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "_Приєднатися" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "Невідома помилка" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Використовувати звуки" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Невідома помилка" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "Доступний" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "Невідома помилка" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "З'єднаний" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "З'єднаний" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Обліковий запис Jabber" + +#~ msgid "Home" +#~ msgstr "Додому" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Реєстрація облікового запису" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Відключитися" + +#~ msgid "Connect" +#~ msgstr "З'єднатися" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Облікова запису зареєстрована" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Помилка реєстрації облікового запису" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Ведіть пароль:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Ведіть пароль:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Ведіть нові ім'я для групи\n" +#~ "%s" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>Запит інформації...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Я хотів би додати Вас у свій список контактів." + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "_Послати повідомлення..." +#~ msgstr[1] "_Послати повідомлення..." + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "Редагувати інформацію облікового запису" + +#~ msgid "New message from %s" +#~ msgstr "Нове повідомлення від %s" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Підтвердити" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Назва:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Кімната:" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "З'єднатися" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>Запит інформації...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "Видалити контакт\n" +#~ "%s\n" +#~ "зі списку контактів?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Ведіть нові ім'я для групи\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Вибір" + +#~ msgid "Unsorted" +#~ msgstr "Невідсортований" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Невідома помилка" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "Я хотів би додати Вас у свій список контактів." + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "Я хотів би додати Вас у свій список контактів." + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "Вибір" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "_З'єднатися..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "З'єднатися" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Який псевдонім Ви хочете використовувати для цього контакту?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Тема:" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Обліковий запис Jabber" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "_Бесіда" + +#~ msgid "List the available accounts" +#~ msgstr "Список облікових записів" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Обліковий запис який використовується при запуску" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "ACCOUNT-NAME" + +#~ msgid "Available accounts:" +#~ msgstr "Доступні облікові записи:" + +#~ msgid "[default]" +#~ msgstr "[За замовчуванням]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Немає облікового запису з ім'ям '%s'." + +#, fuzzy +#~ msgid "Join" +#~ msgstr "_Приєднатися" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Розмова" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossіp - Розмова" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "<b>Запит інформації...</b>" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[За замовчуванням]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "Розмова" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s буде доданий у список контактів." + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "%s буде доданий у список контактів." + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "Відправлення запиту" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "_Контактна інформація" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "Видалити контакт\n" +#~ "%s\n" +#~ "зі списку контактів?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "Видалити контакт\n" +#~ "%s\n" +#~ "зі списку контактів?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "Ведіть пароль:" + +#~ msgid "Remember Password?" +#~ msgstr "Запам'ятати пароль?" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Розмова" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "%s підключився" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "Підтвердити запит?" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "_Ім'я користувача:" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "Сайт:" + +#~ msgid "Web site:" +#~ msgstr "Сайт:" + +#~ msgid "_Accept" +#~ msgstr "_Підтвердити" + +#~ msgid "_Deny" +#~ msgstr "Ві_дкинути" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Переваги:</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Обліковий запис Jabber" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossіp - Редагування кімнат" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossіp - Розмова" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "_Приєднатися" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "Не з'єднуватися при запуску" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "Назва:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "Сервер:" + +#~ msgid "_Nickname:" +#~ msgstr "Псевдонім:" + +#~ msgid "_Room:" +#~ msgstr "_Кімната:" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>Переваги:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "Інформація про клієнта" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Переваги:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "Стан" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Параметри облікового запису</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "З'єднатися" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">Приклад: user@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Обліковий запис Jabber" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "_Додати контакт..." + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "Розмова" + +#~ msgid "Client:" +#~ msgstr "Клієнт:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "_Додати контакт..." + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "Не з'єднуватися при запуску" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "_Додати контакт..." + +#~ msgid "Country:" +#~ msgstr "Країна:" + +#, fuzzy +#~ msgid "Decide _Later" +#~ msgstr "_Вирішити пізніше" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "_Додати контакт..." + +#~ msgid "Edit Groups" +#~ msgstr "Редагувати групи" + +#~ msgid "Email:" +#~ msgstr "Email:" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "JID" + +#~ msgid "Name:" +#~ msgstr "Назва:" + +#~ msgid "OS:" +#~ msgstr "ОС:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "<b>Параметри облікового запису</b>" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "_Реєстрація..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "Пошук..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Gossіp - Відправлення повідомлення" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "Який псевдонім Ви хочете використовувати для цього контакту?" + +#~ msgid "Version:" +#~ msgstr "Версія:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "_Бесіда" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "Яке ім'я користувача ви хочете використовувати?" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "З'єднатися" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Опис" + +#~ msgid "_Disconnect" +#~ msgstr "Відключитися" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Email:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Введіть ідентифікатор користувача якому ви хочете послати повідомлення." + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "П_орт:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Назва:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "Група" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "Псевдонім:" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Пароль:" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Повідомлення стану" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "Видалити" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Сайт:" + +#~ msgid "Preset status messages" +#~ msgstr "Задані повідомлення стану" + +#~ msgid "Preset status messages." +#~ msgstr "Задані повідомлення стану." + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "З'єднатися" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s буде доданий у список контактів." + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "_Jabber ІD нового контакту:" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "Ведіть пароль:" + +#~ msgid "Contact Information for %s" +#~ msgstr "Інформація про контакт %s" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/_Контактна інформація" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/_Перейменувати контакт" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/_Редагувати групи" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "_Бесіда" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "Ведіть псевдонім для контакту\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "Редагувати групу для %s" + +#~ msgid "Conversation Log" +#~ msgstr "Журнал розмов" + +#~ msgid "Registering account" +#~ msgstr "Реєстрація облікового запису" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "Причина:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "_Редагувати переваги..." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "Назва:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossіp - Розмова" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Запит інформації...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Приклад: user@jabber.org</span>" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossіp - Розмова" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Обліковий запис на сервері Jabber уже зареєстрований?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "" +#~ "Ведіть псевдонім для контакту\n" +#~ "%s" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "" +#~ "Ведіть псевдонім для контакту\n" +#~ "%s" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "Установка закінчена" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossіp це сучасний клієнт системи обміну повідомленнями Jabber.\n" +#~ "\n" +#~ "Асистент допоможе вам настроїти Gossіp для з'єднання з вашим сервером " +#~ "Jabber.\n" +#~ "\n" +#~ "Натисніть кнопку \"Уперед\"." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Щоб одержувати інформацію про приступність користувача повинний бути " +#~ "відправлений запит. Поки запит не підтверджений, користувач завжди буде " +#~ "показуватися як \"Відключений\"." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "У яку групу помістити цей контакт?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "Псевдонім:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "П_орт:" + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "Реєстрація облікового запису" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "_Ресурс:" + +#~ msgid "Server:" +#~ msgstr "Сервер:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "Сайт:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Ласкаво просимо в Gossіp" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Яка система обміну повідомленнями використовується цим контактом?" + +#~ msgid "What is your name?" +#~ msgstr "Ваше ім'я?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "Який сервер Ви хочете використовувати?" + +#~ msgid "What username do you use?" +#~ msgstr "Яке ім'я користувача Ви використовуєте?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Яке ім'я користувача ви хочете використовувати?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "У яку групу помістити цей контакт?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Gossіp набудований для роботи з вашою системою.\n" +#~ "Ви можете настроїти Ваш обліковий запис пізніше, у меню Дії->З'єднатися..." + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Обліковий запис Jabber" + +#~ msgid "Your Identity" +#~ msgstr "Ваші дані" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gossіp - Розмова" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "Ні" + +#~ msgid "_Search..." +#~ msgstr "Пошук..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "Так" + +#~ msgid "Be silent when away" +#~ msgstr "" +#~ "Не посилати повідомлення\n" +#~ "у стані \"відсутній\"" + +#~ msgid "Be silent when busy" +#~ msgstr "" +#~ "Не посилати повідомлення\n" +#~ "у стані \"зайнятий\"" + +#~ msgid "Height of main window" +#~ msgstr "Висота головного вікна" + +#~ msgid "The X position of the main window." +#~ msgstr "Х позиція головного вікна." + +#~ msgid "The Y position of the main window." +#~ msgstr "Y позиція головного вікна" + +#~ msgid "The width of the main window." +#~ msgstr "Ширина головного вікна." + +#~ msgid "Width of the main window" +#~ msgstr "Ширина головного вікна" + +#~ msgid "X position of main window" +#~ msgstr "Х позиція головного вікна" + +#~ msgid "Y position of main window" +#~ msgstr "Y позиція головного вікна" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip, Клієнт Jabber для середовища GNOME" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "Сховати головне вікно" + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "_Інформація про обліковий запис" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "Повідомлення стану" + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s відключився" + +#~ msgid "Available..." +#~ msgstr "Доступний..." + +#~ msgid "Busy..." +#~ msgstr "Зайнятий..." + +#~ msgid "Away..." +#~ msgstr "Відійшов..." + +#~ msgid "Contact _Information" +#~ msgstr "_Контактна інформація" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossіp - Кімната" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "Зайти в кімнату..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "П_орт:" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "Інформація про клієнта" + +#, fuzzy +#~ msgid "Could not open connection" +#~ msgstr "Не зміг з'єднатися" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "Який сервер Ви хочете використовувати?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>З'єднання із сервером</b>" + +#~ msgid "Written by:" +#~ msgstr "Створили:" + +#~ msgid "Translated by:" +#~ msgstr "Перекладено:" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "_Інформація про обліковий запис" + +#~ msgid "%sChat - %s" +#~ msgstr "%s %s - Розмова" + +#~ msgid "/Show _Log" +#~ msgstr "/_Журнал розмов" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "Версія:" + +#~ msgid "View Lo_g" +#~ msgstr "Журнал розмов" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossіp - Кімната" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "Додати контакт" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "_Контактна інформація" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossіp - Редагування кімнат" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Gossіp - Кімната" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Gossіp - Відправлення повідомлення" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "Gossіp - Відправлення повідомлення" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "Настройки" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossіp - Відправлення повідомлення" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "Яке повідомлення потрібно послати користувачеві %s?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "Переконаєтеся що дані облікового запису правильні." + +#~ msgid "%s wants to be notified of your presence." +#~ msgstr "%s хоче бути сповіщеним щодо вашої присутності." + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "Відбулося від'єднання від сервера. Відновити з'єднання?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "" +#~ "Переконаєтеся що дані облікового запису коректні. Сервер також може бути " +#~ "недоступний." + +#~ msgid "Edit List..." +#~ msgstr "Редагувати список..." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "При спілкуванні з %s відбулася помилка." + +#~ msgid "Details:" +#~ msgstr "Подробиці:" + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "При спілкуванні в кімнаті %s відбулася помилка." + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "Неможливо ввійти в кімнату %s." + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossіp спробує використати обліковий запис:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossіp спробує зареєструвати обліковий запис:" + +#~ msgid "From:" +#~ msgstr "Від:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossіp - Отримане повідомлення" + +#~ msgid "In reply to:" +#~ msgstr "У відповідь на:" + +#~ msgid "To:" +#~ msgstr "Кому:" + +#~ msgid "_Reply..." +#~ msgstr "_Відповідь..." + +#~ msgid "_Send" +#~ msgstr "_Відіслати" + +#~ msgid "C_onnect" +#~ msgstr "З'є_днатися" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b><iДоступні кімнати/b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>Інформація про кімнату</b>" + +#~ msgid "Gossip - Join Group Chat" +#~ msgstr "Gossіp - Зайти в кімнату" + +#~ msgid "N_ickname:" +#~ msgstr "_Псевдонім:" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "Виберіть одну з кімнат або введіть псевдонім, сервер і кімнату." + +#~ msgid "R_emove" +#~ msgstr "В_идалити" + +#~ msgid "_Add" +#~ msgstr "_Додати" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>Задані повідомлення стану</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>Інформація недоступна</i>" + +#~ msgid "Choose a Server" +#~ msgstr "Вибір сервера" + +#~ msgid "Choose from list:" +#~ msgstr "Вибір зі списку:" + +#~ msgid "Information about ..." +#~ msgstr "Інформація про ..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "На якому сервері ви маєте обліковий запис?" + +#~ msgid "Sound" +#~ msgstr "Звук" + +#~ msgid "Use a different server" +#~ msgstr "Використовувати інший сервер" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "Яке повідомлення хочете відправити ...?" diff --git a/trunk/po/vi.po b/trunk/po/vi.po new file mode 100644 index 000000000..f1a3d0bab --- /dev/null +++ b/trunk/po/vi.po @@ -0,0 +1,1940 @@ +# Vietnamese translation for Gossip. +# Copyright © 2006 Gnome i18n Project for Vietnamese. +# Clytie Siddall <clytie@riverland.net.au>, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-08-28 20:58+0930\n" +"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" +"Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.6fc1\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "Bộ tin nhắn tức khắc" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "Bộ tin nhắn tức khắc" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "Luôn mở cửa sổ riêng cho cuộc trò chuyện mới." + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "Sắc thái cửa sổ trò chuyện" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" +"Danh sách định giới bằng dấu phẩy các ngôn ngữ kiểm tra chính tả cần dùng (v." +"d. en, fr, ja, vi)." + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "Hiện danh _sách liên lạc" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "Thư mục mặc định nơi cần chọn ảnh riêng" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "Bật lên khi liên lạc sẵn sàng" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "Bật âm thanh khi vắng mặt" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "Bật âm thanh khi bận" + +#: ../data/empathy.schemas.in.h:10 +msgid "Enable spell checker" +msgstr "Kiểm tra chính tả" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "Ẩn cửa sổ chính" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "Ẩn cửa sổ chính." + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "Mở mỗi cuộc trò chuyện mới trong cửa sổ riêng." + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "Hiện ảnh riêng" + +#: ../data/empathy.schemas.in.h:15 +msgid "Show hint about closing the main window" +msgstr "Hiện mẹo về việc đóng cửa sổ chính" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "Hiện liên lạc ngoại tuyến" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "Ngôn ngữ kiểm tra chính tả" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "Thư mục cuối cùng nơi đã chọn ảnh riêng." + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "Sắc thái được dùng để hiển thị cuộc đối thoại trong cửa sổ trò chuyện." + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "Dùng biểu tượng xúc cảm" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "Dùng âm thanh thông báo" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "Dùng sắc thái cho phòng trò chuyện" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "Có nên kiểm tra đoạn gõ so với những ngôn ngữ đã chọn hay không." + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "" +"Bật/tắt chuyển đổi ký tự miêu tả mặt cười thành biểu tượng xúc cảm trong đối " +"thoại." + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "Bật/tắt phát âm thanh khi mới nhận tin nhẳn." + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "Bật/tắt phát âm thanh khi vắng mặt." + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "Bật/tắt phát âm thanh khi bận." + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "Có nên bật lên khi liên lạc mới sẵn sàng hay không." + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "" +"Có nên hiển thị ảnh riêng cho mỗi liên lạc nằm trong danh sách liên lạc và " +"cửa sổ trò chuyện hay không." + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "" +"Bật/tắt hiển thị các liên lác đang ngoại tuyến trong danh sách liên lạc." + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" +"Có nên hiển thị hộp thoại thông điệp về việc đóng cửa sổ chính bằng cái nút " +"« x » trên thanh tựa hay không." + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "Có nên dùng sắc thái cho các phòng trò chuyện hay không." + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "Có nên dùng sắc thái cho các phòng trò chuyện hay không." + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "Ngoại tuyến" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "Sẵn sàng" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "Bận" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "Vắng mặt" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "_Hiện các liên lạc" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "Nhóm" + +#: ../libempathy-gtk/empathy-main-window.c:477 +msgid "Contact" +msgstr "Liên lạc" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "Hiện danh _sách liên lạc" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +msgid "Context" +msgstr "Ngữ cảnh" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "Vào Ư_a thích" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "Vào _Mới..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +#, fuzzy +msgid "Manage Favorites..." +msgstr "Vào Ư_a thích" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "Hiện các liên lạc ng_oại tuyến" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +msgid "_About" +msgstr "_Giới thiệu" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "_Tài khoản" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "Thê_m liên lạc..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "Trò _chuyện" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "Mục lụ_c" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "_Sửa" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "Trợ _giúp" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "Ti_n nhẳn mới..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "_Thông tin cá nhân" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "Tù_y thích" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "T_hoát" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "_Phóng" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "_Xem đối thoại trước" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "Trạng thái" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "Hiện danh _sách liên lạc" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip là phần mềm tự do : bạn có thể phân phái lại và/hay sửa đổi nó với " +"điều kiện của Quyền Công Chung GNU (GPL), như do Tổ chức Phần mềm Tự do xuất " +"bản, hoặc phiên bản 2 của Quyền này, hoặc (tùy chọn) bất kỳ phiên bản mới " +"hơn." + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Chúng tôi phân phối Gossip vì mong muốn nó có ích, nhưng KHÔNG bảo đảm gì " +"cả, dù khả năng bán hay khả năng làm việc dứt khoát. Xem Quyền Công Chung " +"GNU để tìm chi tiết." + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"Bạn đã nhận một bản sao của Giấy Phép Công Cộng GNU cùng với chương trình " +"này; nếu không, hãy viết thư cho Tổ Chức Phần Mềm Tự Do,\n" +"Free Software Foundation, Inc.,\n" +" 51 Franklin Street, Fifth Floor,\n" +"Boston, MA 02110-1301, USA." + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "Ứng dụng khách tin nhắn tức khắc cho Gnome" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "Nhóm Việt hóa Gnome <gnomevi-list@lists.sourceforge.net>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "Sẵn sàng" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +#, fuzzy +msgid "Enable" +msgstr "Ví dụ" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>Tài khoản</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>Tài khoản</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "Tài khoản" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"Bạn sắp gỡ bỏ tài khoản %s của mình !\n" +"Bạn có chắc muốn tiếp tục không?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"Cuộc đối thoại nào hay phòng trò chuyện nào tương ứng sẽ KHÔNG bị gỡ bỏ nếu " +"bạn chọn tiếp tục.\n" +"\n" +"Như thế thì chúng sẽ vẫn còn sẵn sàng nếu bạn chọn thêm lại tài khoản này " +"vào lúc sau." + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>Tài khoản</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>Tài khoản</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>Trạng thái</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "Trò chuyện !" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +# Name: don't translate / Tên: đừng dịch +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "Tê_n:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "_Chủ đề:" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">Ví dụ : người_dùng@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "I_D đăng nhập:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "_Mật khẩu :" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "Tài ng_uyên:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "Dùng _mật mã (SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "_Cổng:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "Máy phục _vụ :" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +msgid "jabber account settings" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "Kết nối bị ngắt" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "Chèn ảnh cười" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "Kiểm tra _chính tả từ..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "Được kết nối" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "X_oá" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "Trò chuyện" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "Thông tin _liên lạc" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +msgid "Cu_t" +msgstr "Cắ_t" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "_Mời" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "Chèn ảnh _cười" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "Thông điệp mời:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "Mời" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "Chuyển thanh t_rái" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "Chuyển thanh _phải" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "Chọn người nào bạn muốn mời:" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "Bạn đã được mời tham gia một hội thảo trò chuyện." + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "Thêm vào Ư_a thích" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "Đón_g" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "Đối th_oại" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "_Chép" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "Gỡ _ra thanh" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "Tha_nh kế" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "_Dán" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "Thanh t_rước" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "_Hiện các liên lạc" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "_Thanh" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "_Chép địa chỉ liên kết" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "_Mở liên kết" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%A %d %B %Y" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "Tin nhẳn mới" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "Phòng trò chuyện" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "Đối th_oại" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "Đang gõ tin nhẳn." + +#: ../libempathy-gtk/gossip-contact-list.c:290 +msgid "_Contact" +msgstr "Liên lạ_c" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +msgid "_Group" +msgstr "_Nhóm" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "Chat with contact" +msgstr "Trò chuyện với liên lạc" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "Infor_mation" +msgstr "_Thông tin" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +msgid "View contact information" +msgstr "Xem thông tin liên lạc" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Re_name" +msgstr "Thay tê_n" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +msgid "Rename" +msgstr "Thay tên" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "Edit the groups and name for this contact" +msgstr "Hiệu chỉnh những nhóm và tên cho liên lạc này" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "Gỡ _bỏ" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "Remove contact" +msgstr "Gỡ bỏ liên lạc" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "_Invite to Chat Room" +msgstr "Mờ_i vào phòng trò chuyện" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "Mời vào một phòng trò chuyện hiện thời được mở" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "_Gởi tập tin..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "Send a file" +msgstr "Gởi một tập tin" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "View previous conversations with this contact" +msgstr "Xem cuộc đối thoại trước đây với liên lạc này" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "Ngôn ngữ" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>Diện mạo</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>Âm thanh</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>Ứng xử</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>Kết nối</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>Ngôn ngữ</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +msgid "<b>Options</b>" +msgstr "<b>Tùy chọn</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>Hiển thị</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" +"<small>Danh sách ngôn ngữ phản ánh chỉ mỗi ngôn ngữ cho đó bạn đã cài đặt từ " +"điển.</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" +"Ảnh riêng là ảnh được người dùng chọn, được hiển thị trong danh sách liên lạc" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "_Sắc thái trò chuyện:" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "Thông bá_o khi liên lạc mới trực tuyến" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "Bật âm th_anh khi vắng mặt" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "Bật âm thanh khi _bận" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "Chung" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "Thông báo" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "Tùy thích" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "Hiện ảnh _riêng" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "Hiện _mặt cười là ảnh" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "Hiện danh _sách liên lạc" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "Kiểm tra chính tả" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "_Kiểm tra chính tả" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "Mở cuộc trò chuyện mới tr_ong cửa sổ riêng" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "_Phát âm thanh khi mới nhận tin nhẳn" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +msgid "_Use for chat rooms" +msgstr "Dùng cho phòng trò ch_uyện" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "Tin nhẳn tự chọn..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "Xoá danh sách..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +msgid "Are you sure you want to clear the list?" +msgstr "Bạn có chắc muốn xoá danh sách này không?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" +"Việc này sẽ gỡ bỏ thông điệp riêng nào bạn đã thêm vào danh sách các thông " +"điệp trạng thái định sẵn." + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "Xoá danh sách" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "Gõ thông điệp trạng thái:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "Định sẵn thông điệp trạng thái" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +msgid "_Add to status message list" +msgstr "Thêm vào d_anh sách thông điệp trạng thái" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s mới ngoại tuyến" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s mới trực tuyến" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "Cổ điển" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "Đơn giản" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +msgid "Clean" +msgstr "Làm sạch" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "Xanh dương" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "Đừng kết nối khi khởi chạy" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Bộ tin nhắn tức khắc Gossip" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Bộ tin nhắn tức khắc Gossip" + +#~ msgid "Normal" +#~ msgstr "Chuẩn" + +#~ msgid "Joining" +#~ msgstr "Tham gia" + +#~ msgid "Active" +#~ msgstr "Hoạt động" + +#~ msgid "Inactive" +#~ msgstr "Bị động" + +#~ msgid "Unknown" +#~ msgstr "Không rõ" + +#~ msgid "Error" +#~ msgstr "Lỗi" + +#, fuzzy +#~ msgid "No role" +#~ msgstr "Chuẩn" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "Thông báo" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "Bạn đã chọn một tên hiệu đang được dùng." + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "Bạn đang cố tham gia một phòng trò chuyện cần thiết mật khẩu." + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "Máy phục vụ hội thảo ở xa chưa đáp ứng sau một thời gian hợp lý." + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "Bạn đã cố tham gia một máy phục vụ hội thảo không thể được tìm." + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "Gặp lỗi lạ: hãy kiểm tra xem bạn đã gõ đúng chi tiết mình." + +#, fuzzy +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "Vào phòng trò chuyện" + +#~ msgid "Unavailable" +#~ msgstr "Không sẵn sàng" + +#~ msgid "An unknown error occurred." +#~ msgstr "Gặp lỗi không rõ." + +#~ msgid "Connection refused." +#~ msgstr "Kết nối bị từ chối." + +#~ msgid "Server address could not be resolved." +#~ msgstr "Không thể quyết định địa chỉ của máy phục vụ." + +#~ msgid "Connection timed out." +#~ msgstr "Kết nối đã quá giờ." + +#~ msgid "Authentication failed." +#~ msgstr "Việc xác thực bị lỗi." + +#~ msgid "The username you are trying already exists." +#~ msgstr "Bạn đang thử ra một tên người dùng đã có." + +#~ msgid "The username you are trying is not valid." +#~ msgstr "Bạn đang thử ra một tên người dùng không hợp lệ." + +#~ msgid "This feature is unavailable." +#~ msgstr "Không có tính năng này." + +#~ msgid "This feature is unauthorized." +#~ msgstr "Tính năng này không được xác thực." + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "Gặp một lỗi giao thức dứt khoát mà bất ngờ." + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Tài khoản mới" + +#~ msgid "Home" +#~ msgstr "Nhà" + +#~ msgid "Couldn't send message!" +#~ msgstr "Không thể gởi tin nhẳn." + +#~ msgid "Connection could not be opened" +#~ msgstr "Không thể mở kết nối." + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "Không có tính năng này." + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "Đang ký" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "Tính năng này không được xác thực." + +#~ msgid "Stop" +#~ msgstr "Dừng" + +#~ msgid "Disconnect" +#~ msgstr "Ngắt kết nối" + +#~ msgid "Connect" +#~ msgstr "Kết nối" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "Việc đăng ký thiết lập tài khoản mới của bạn bị lỗi." + +#, fuzzy +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "" +#~ "Bạn không thể sử dụng tùy chọn « --no-connect » (không kết nối) cùng với " +#~ "tùy chọn « --account » (tài khoản)" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "Việc đăng ký thiết lập tài khoản mới của bạn bị lỗi." + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "Hãy gõ mật khẩu tài khoản:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "Hãy gõ mật khẩu tài khoản:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "Hãy gõ tên mới cho nhóm này:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "Không có thông tin công bố về liên lạc này." + +#~ msgid "Information requested, please wait..." +#~ msgstr "Thông tin đã được yêu cầu, hãy đợi..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "Tôi muốn thêm bạn vào danh sách liên lạc mình." + +#~ msgid "To summarize:" +#~ msgstr "Tóm tắt:" + +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "%d tin nhẳn mới" + +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "%d yêu cầu đăng ký" + +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "%d yêu cầu truyền tập tin" + +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "%d thông điệp máy phục vụ" + +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "%d lỗi" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "Nếu bạn thoát, các thông tin chưa đọc sẽ bị mất hoàn toàn." + +#~ msgid "Gossip is still running, it is just hidden." +#~ msgstr "Trình Gossip vẫn còn chạy, chỉ ẩn." + +#~ msgid "Click on the notification area icon to show Gossip." +#~ msgstr "Nhấn vào vùng thông báo để hiển thị trình Gossip." + +#~ msgid "You were about to quit!" +#~ msgstr "Bạn đã sắp thoát !" + +#~ msgid "" +#~ "Since no system or notification tray has been found, this action would " +#~ "normally quit Gossip.\n" +#~ "\n" +#~ "This is just a reminder, from now on, Gossip will quit when performing " +#~ "this action unless you uncheck the option below." +#~ msgstr "" +#~ "Vì không tìm thấy khay hệ thống hay thông báo, hành động này thường thoát " +#~ "khỏi trình Gossip.\n" +#~ "\n" +#~ "Đây chỉ là lời nhắc nhở, kể từ bây giờ, trình Gossip sẽ thoát khi thực " +#~ "hiện hành động này, nếu bạn không bỏ chọn tùy chọn bên dưới." + +#~ msgid "Edit Account _Details" +#~ msgstr "Sử_a chi tiết tài khoản" + +#~ msgid "Click to enlarge" +#~ msgstr "Nhấn để phóng to" + +#~ msgid "Word" +#~ msgstr "Từ" + +#~ msgid "Select who would you like to invite to room:" +#~ msgstr "Chọn người nào bạn muốn mời vào phòng:" + +#~ msgid "Select which room you would like to invite:" +#~ msgstr "Chọn phòng vào đó bạn muốn mời người:" + +#~ msgid "New message from %s" +#~ msgstr "Tin nhẳn mới từ %s" + +#~ msgid "Your invitation has been declined" +#~ msgstr "Lời mời của bạn đã bị từ chối" + +#~ msgid "Accept" +#~ msgstr "Chấp nhận" + +#~ msgid "Decline" +#~ msgstr "Từ chối" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "Tên:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "_Phóng" + +#~ msgid "Auto Connect" +#~ msgstr "Kết nối tự động" + +#~ msgid "Information requested..." +#~ msgstr "Thông tin được yêu cầu..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "Bạn có muốn gỡ bỏ liên lạc này ra bản liệt kê không?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "Hãy gõ tên mới cho nhóm này:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "Chọn" + +#~ msgid "Unsorted" +#~ msgstr "Chưa sắp xếp" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server." +#~ msgstr "" +#~ "Đặt tên hiệu bạn muốn dùng cho :\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Bạn có khả năng lấy thông tin liên lạc từ máy phục vụ." + +#~ msgid "New file transfer request from %s" +#~ msgstr "Yêu cầu truyền tập tin mới từ %s" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "Không phải cả hai người hỗ trợ việc truyền tập tin." + +#~ msgid "Your file transfer offer declined." +#~ msgstr "Người khác đã từ chối truyền tập tin." + +#~ msgid "The other user decided not to continue." +#~ msgstr "Người dùng khác đã quyết định sẽ không tiếp tục." + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "Gặp lỗi lạ trong khi truyền tập tin." + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s muốn gởi tập tin cho bạn." + +#~ msgid "Someone would like to send you a file." +#~ msgstr "Người nào muốn gởi tập tin cho bạn." + +#~ msgid "Select a file" +#~ msgstr "Chọn tập tin" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "Đang kết nối..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "Dừng kết nối" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "Đã mời %s tham gia hội thảo trò chuyện này." + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s đã đặt chủ đề" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "Cho liên lạc này, bạn có muốn sử dụng tên hiệu nào?" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "%s đã đặt chủ đề" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "%s đã đặt chủ đề" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "_Chủ đề:" + +#~ msgid "Account" +#~ msgstr "Tài khoản" + +#~ msgid "Conversation With" +#~ msgstr "Đối thoại với" + +#~ msgid "Date" +#~ msgstr "Ngày" + +#~ msgid "Allow multiple instances of the application to run at the same time" +#~ msgstr "Cho phép nhiều bản sao của ứng dụng này có chạy đồng thời" + +#~ msgid "List the available accounts" +#~ msgstr "Liệt kê các tài khoản sẵn sàng" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "Tài khoản nào cần kết nối khi khởi chạy" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "TÊN TÀI KHOẢN" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "" +#~ "Bạn không thể sử dụng tùy chọn « --no-connect » (không kết nối) cùng với " +#~ "tùy chọn « --account » (tài khoản)" + +#~ msgid "No accounts available." +#~ msgstr "Không có tài khoản sẵn sàng." + +#~ msgid "Available accounts:" +#~ msgstr "Các tài khoản sẵn sàng:" + +#~ msgid "[default]" +#~ msgstr "[mặc định]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "Không có tài khoản tên « %s »." + +#~ msgid "Join" +#~ msgstr "Tham gia" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "Ngày" + +#~ msgid "Chat Rooms" +#~ msgstr "Phòng trò chuyện" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "Thông tin đã được yêu cầu, hãy đợi..." + +#~ msgid "Default" +#~ msgstr "Mặc định" + +#~ msgid "Chat!" +#~ msgstr "Trò chuyện !" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s muốn được thêm vào danh sách liên lạc của bạn." + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "Người nào muốn được thêm vào danh sách liên lạc của bạn." + +#~ msgid "Subscription request" +#~ msgstr "Yêu cầu đăng ký" + +#~ msgid "Show" +#~ msgstr "Hiện" + +#~ msgid "Contact Information" +#~ msgstr "Thông tin liên lạc" + +#~ msgid "Subject: %s" +#~ msgstr "Chủ đề : %s" + +#~ msgid "Suggestions for the word" +#~ msgstr "Đề nghị từ" + +#~ msgid "New subscription request from %s" +#~ msgstr "Yêu cầu đăng ký mới từ %s" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "Bạn có muốn thêm họ vào danh sách liên lạc không?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "Bạn có muốn thêm %s vào danh sách liên lạc không?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "Hãy gõ mật khẩu của bạn cho tài khoản %s" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "Đang đăng nhập với : %s" + +#~ msgid "Remember Password?" +#~ msgstr "Nhớ mật khẩu ?" + +#~ msgid "Do not show this again" +#~ msgstr "Đừng hiện câu này lần nữa" + +#~ msgid "Could not display the help contents." +#~ msgstr "Không thể hiển thị nội dung trợ giúp." + +#~ msgid "Select Your Avatar Image" +#~ msgstr "Chọn ảnh riêng" + +#~ msgid "No Image" +#~ msgstr "Không có ảnh" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "Máy phục vụ có vẻ không phải đáp ứng." + +#~ msgid "Try again later." +#~ msgstr "Thử lại sau." + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Trò chuyện" + +#~ msgid "Contact goes offline" +#~ msgstr "Liên lạc mới ngoại tuyến" + +#~ msgid "Contact goes online" +#~ msgstr "Liên lạc mới trực tuyến" + +#~ msgid "Contact ID:" +#~ msgstr "ID liên lạc:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "Bạn có muốn chấp nhận tập tin này không?" + +#~ msgid "File Transfer Request" +#~ msgstr "Yêu cầu truyền tập tin" + +#~ msgid "File name:" +#~ msgstr "Tên tập tin:" + +#~ msgid "File size:" +#~ msgstr "Cỡ tập tin:" + +#~ msgid "Not supported yet" +#~ msgstr "Chưa hỗ trợ" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "Người này muốn gởi cho bạn tập tin này:" + +#~ msgid "Web site:" +#~ msgstr "Chỗ Mạng:" + +#~ msgid "_Accept" +#~ msgstr "Chấ_p nhận" + +#~ msgid "_Deny" +#~ msgstr "_Từ chối" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>Nhóm</b>" + +#~ msgid "Account:" +#~ msgstr "Tài khoản:" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Sửa đổi phòng trò chuyện" + +#~ msgid "Group Chat" +#~ msgstr "Trò chuyện nhóm" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "Vào _Mới..." + +#~ msgid "Join room on start_up" +#~ msgstr "Vào phòng khi khởi chạ_y" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "" +#~ "Vào phòng trò chuyện này khi trình Gossip khởi chạy và bạn đã kết nối" + +#, fuzzy +#~ msgid "Manage Favorite Rooms" +#~ msgstr "Quản lý phòng trò chuyện" + +#~ msgid "N_ame:" +#~ msgstr "_Tên:" + +#~ msgid "S_erver:" +#~ msgstr "Máy _phục vụ :" + +#~ msgid "_Nickname:" +#~ msgstr "Tê_n hiệu :" + +#~ msgid "_Room:" +#~ msgstr "_Phóng:" + +#~ msgid "-" +#~ msgstr "—" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>Giới thiệu</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>Thông tin ứng dụng khách</b>" + +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>Nhóm</b>" + +#~ msgid "<b>Name</b>" +#~ msgstr "<b>Tên</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>Chi tiết cá nhân</b>" + +#~ msgid "<b>Status</b>" +#~ msgstr "<b>Trạng thái</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>Tùy chọn</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "" +#~ "<span size=\"smaller\">Ví dụ : Văn Minh hoặc người_dùng@máy_phục_vụ.org</" +#~ "span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Tài khoản:" + +#~ msgid "Add Contact" +#~ msgstr "Thêm liên lạc" + +#~ msgid "Avatar:" +#~ msgstr "Ảnh riêng:" + +#~ msgid "Ch_at" +#~ msgstr "Trò ch_uyện" + +#~ msgid "Client:" +#~ msgstr "Ứng dụng khách:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "Liên lạc" + +#~ msgid "Connect on S_tartup" +#~ msgstr "Kế_t nối khi khởi chạy" + +#~ msgid "Contacts" +#~ msgstr "Liên lạc" + +#~ msgid "Country:" +#~ msgstr "Quốc gia:" + +#~ msgid "Decide _Later" +#~ msgstr "Quyết định _sau này" + +#~ msgid "Edit Contact" +#~ msgstr "Sửa liên lạc" + +#~ msgid "Edit Groups" +#~ msgstr "Sửa nhóm" + +#~ msgid "Email:" +#~ msgstr "Thư điện tử :" + +#~ msgid "ID:" +#~ msgstr "ID:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "" +#~ "Nếu bạn chọn quyết định sau này, bạn sẽ được nhắc lại lần kế tiếp đăng " +#~ "nhập." + +#~ msgid "Name:" +#~ msgstr "Tên:" + +#~ msgid "OS:" +#~ msgstr "HĐH:" + +#~ msgid "Personal Details" +#~ msgstr "Chi tiết cá nhân" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "Đang ký" + +#~ msgid "Search" +#~ msgstr "Tìm kiếm" + +#~ msgid "" +#~ "Select the groups you want this contact to appear in, you can select more " +#~ "than one group or no groups." +#~ msgstr "" +#~ "Chọn những nhóm nơi bạn muốn liên lạc này xuất hiện; bạn có khả năng chọn " +#~ "một hay nhiều nhóm, hay không chọn nhóm (≥0 nhóm)." + +#, fuzzy +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>foo@bar.baz</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Đặt tên hiệu bạn muốn dùng cho :\n" +#~ "<b>%s</b>\n" +#~ "\n" +#~ "Bạn có khả năng lấy thông tin liên lạc từ máy phục vụ." + +#~ msgid "Spell Checker" +#~ msgstr "Kiểm tra chính tả" + +#~ msgid "Subscription Request" +#~ msgstr "Yêu cầu đăng ký" + +#~ msgid "Suggestions for the word:" +#~ msgstr "Đề nghị từ :" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "Điều này lọc danh sách liên lạc bên dưới. Bạn có khả năng sử dụng phần " +#~ "tên hoặc ID của liên lạc; thí dụ, « jabber.org » sẽ liệt kê mọi người sử " +#~ "dụng máy phục vụ đó." + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "" +#~ "Điều này là tên sẽ được dùng trên bản liệt kê của bạn cho liên lạc này" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "Tên này sẽ được dùng để nhận diện bạn trong cửa sổ trò chuyện" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "" +#~ "Tên này sẽ được dùng để nhận diện bạn khi liên lạc mới tra tìm chi tiết " +#~ "về bạn" + +#~ msgid "Use default name here from the contact's VCard." +#~ msgstr "Ở đây dùng tên mặc định từ vCard của liên lạc." + +#~ msgid "Use system pro_xy" +#~ msgstr "Dùng ủ_y nhiệm hệ thống" + +#~ msgid "Version:" +#~ msgstr "Phiên bản:" + +#~ msgid "View Previous Conversations" +#~ msgstr "Xem đối thoại trước" + +#~ msgid "Which account do you want to use?" +#~ msgstr "Bạn có muốn sử dụng tài khoản nào?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "Bạn chưa đăng ký với liên lạc này." + +#~ msgid "_Connect" +#~ msgstr "_Kết nối" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "Mô tả:" + +#~ msgid "_Disconnect" +#~ msgstr "_Ngắt kết nối" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "Thư điện tử :" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "" +#~ "Hãy gõ bên dưới tên hoặc ID liên lạc của người với mà bạn muốn trò chuyện:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "_Cổng:" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "Tê_n:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "_Nhóm" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "Tê_n hiệu :" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "_Mật khẩu :" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "Tin nhẳn mới" + +#~ msgid "_Retrieve" +#~ msgstr "_Lấy" + +#~ msgid "_Subscribe" +#~ msgstr "Đăng _ký" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "Chỗ Mạng:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "Sử_a chi tiết tài khoản" + +#~ msgid "Edit" +#~ msgstr "Hiệu chỉnh" + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "Có lẽ bạn đang cố kết nối đến cổng không đúng?" + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "Có lẽ dịch vụ không đang chạy?" + +#~ msgid "Check your connection details." +#~ msgstr "Hãy kiểm tra xem chi tiết kết nối là đúng." + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "Có lẽ máy phục vụ không đang chạy dịch vụ này." + +#~ msgid "Check your username and password are correct." +#~ msgstr "Hãy kiểm tra xem đã gõ tên người dùng và mật khẩu đúng." + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s sẽ được thêm vào danh sách liên lạc của bạn." + +#~ msgid "%s ID of new contact:" +#~ msgstr "%s ID của liên lạc mới :" + +#~ msgid "Example: %s" +#~ msgstr "Ví dụ : %s" + +#~ msgid "Show accounts and pending connections" +#~ msgstr "Hiện các tài khoản và kết nối bị hoãn" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "Bạn chưa cấu hình tài khoản Tin nhắn tức khắc." + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "" +#~ "Bước sau, bạn có thể thiết lập chi tiết mình trong hộp thoại Thông tin " +#~ "Tài khoản." + +#~ msgid "Favourite" +#~ msgstr "Ưa thích" + +#~ msgid "Registering account" +#~ msgstr "Đang đăng ký tài khoản..." + +#~ msgid "Add to _favourites" +#~ msgstr "Thêm vào ư_a thích" + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "" +#~ "Tùy chỉnh tên hiệu mình, máy phục vụ và phòng trò chuyện bạn muốn vào." + +#~ msgid "Edit your chat room details:" +#~ msgstr "Hiệu chỉnh chi tiết phòng trò chuyện:" + +#~ msgid "Na_me:" +#~ msgstr "Tê_n:" + +#~ msgid "New Chat Room" +#~ msgstr "Phòng trò chuyện mới" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "" +#~ "Chọn một phòng trò chuyện đã lưu trong danh sách định sẵn bên dưới, rồi " +#~ "nhắp vào nút « Tham gia » để bắt đầu nói chuyện." + +#~ msgid "Save _this chat room" +#~ msgstr "Lưu phòng _trò chuyện này" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>Thông tin được yêu cầu, hãy đợi...</b>" + +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">Ví dụ</span>" + +#~ msgid "Account Name" +#~ msgstr "Tên tài khoản" + +#~ msgid "Add a contact" +#~ msgstr "Thêm liên lạc" + +#~ msgid "Connection Details" +#~ msgstr "Chi tiết kết nối" + +#~ msgid "Contact information" +#~ msgstr "Thông tin liên lạc" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "Bạn đã thiết lập tài khoản trên máy phục vụ chưa?" + +#~ msgid "Enter a name for this account" +#~ msgstr "Gõ tên cho tài khoản này" + +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "Hãy gõ số hiệu cổng dùng khi kết nối tài khoản này" + +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "Hãy gõ máy phục vụ dùng khi kết nối tài khoản này" + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "Hãy gõ ID liên lạc của người dùng:" + +#~ msgid "Enter your real name here" +#~ msgstr "Hãy gõ vào đây tên thật của bạn" + +#~ msgid "Finished" +#~ msgstr "Đã xong" + +#~ msgid "For increased security, enable this option" +#~ msgstr "Bật tùy chọn này để bảo mật hơn" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip là một ứng dụng khách hiện thời cho hệ thống Tin nhắn tức khắc " +#~ "Jabber.\n" +#~ "\n" +#~ "Trợ lý này sẽ giúp đỡ bạn cấu hình trình Gossip và kết nối bạn đến mấy " +#~ "phục vụ Jabber ưa thích.\n" +#~ "\n" +#~ "Để bắt đầu tiến trình cấu hình, đơn giản hãy nhắp vào nút « Tiếp »." + +#~ msgid "Group:" +#~ msgstr "Nhóm:" + +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option" +#~ msgstr "" +#~ "Nếu bạn có máy khác nằm trên mạng mà làm « ủy nhiệm » kết nối đến Mạng và " +#~ "bạn muốn sử dụng nó, hãy bật tùy chọn này" + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "Nếu bạn cần phải đặt một số chi tiết kết nối riêng, lấy thí dụ, máy phục " +#~ "vụ hay cổng khác, có thể cấu hình nó ở đây." + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "Bạn cần yêu cầu nhận thông báo sự có mặt của người dùng. Người dùng này " +#~ "sẽ được hiển thị « Ngoại tuyến » trong danh sách liên lạc của bạn, cho " +#~ "đến khi yêu cầu thông báo đã được chấp nhận." + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "Bạn có muốn để liên lạc này vào nhóm nào?" + +#~ msgid "Jabber ID:" +#~ msgstr "ID Jabber:" + +#~ msgid "" +#~ "Leave this blank if you don't want your password stored on a public " +#~ "machine. If you decide to do this, you will be prompted each time you " +#~ "connect for a password" +#~ msgstr "" +#~ "Bỏ rỗng nếu bạn không muốn cho phép mật khẩu của mình được cất giữ trên " +#~ "máy công. Tuy nhiên, bạn sẽ được nhắc với mật khẩu mỗi lần kết nối" + +#~ msgid "Nickname:" +#~ msgstr "Tên hiệu :" + +#~ msgid "Port:" +#~ msgstr "Cổng:" + +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "Ấn nút « Đăng ký » để yêu cầu nhận thông báo trạng thái của họ" + +#~ msgid "Registering Account" +#~ msgstr "Đăng ký tài khoản" + +#~ msgid "Resource:" +#~ msgstr "Tài nguyên:" + +#~ msgid "Sending request" +#~ msgstr "Đang gởi yêu cầu..." + +#~ msgid "Server:" +#~ msgstr "Máy phục vụ :" + +#~ msgid "" +#~ "Set the alias you want to use for:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "You can retrieve contact information from the server. " +#~ msgstr "" +#~ "Đặt tên hiệu bạn muốn dùng cho:\n" +#~ "<b>martyn@imendio.com</b>\n" +#~ "\n" +#~ "Bạn có khả năng lấy thông tin liên lạc từ máy phục vụ. " + +#~ msgid "Web Site:" +#~ msgstr "Chỗ Mạng:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "Chúc mừng bạn dùng Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "Liên lạc này có sử dụng hệ thống tin nhắn tức khắc nào?" + +#~ msgid "What is your name?" +#~ msgstr "Bạn tên nào?" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "Để nhận diện tài khoản này, bạn có muốn sử dụng tên nào?\n" +#~ "\n" +#~ "Lấy thí dụ, có thể chọn một tên liên quan đến bộ cung cấp dịch vụ, như " +#~ "<b>Google</b>." + +#~ msgid "What password do you want to use?" +#~ msgstr "Bạn có muốn sử dụng mật khẩu nào?" + +#~ msgid "What username do you use?" +#~ msgstr "Bạn có sử dụng tên người dùng nào?" + +#~ msgid "What username do you want to use?" +#~ msgstr "Bạn có muốn sử dụng tên người dùng nào?" + +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "Bạn có muốn thêm liên lạc này vào tài khoản nào?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Bạn có thể thay đổi thiết lập tài khoản sau này, bằng cách chọn mục trình " +#~ "đơn Hiệu chỉnh → Tài khoản." + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "" +#~ "Bạn cần đặt tên riêng cho sự kết nối này, lấy thí dụ <b>Ở nhà</b> hoặc " +#~ "<b>Máy tính xách tay</b>." + +#~ msgid "Your Account" +#~ msgstr "Tài khoản của bạn" + +#~ msgid "Your Identity" +#~ msgstr "Thực thể của bạn" + +#~ msgid "Your new account has now been set up." +#~ msgstr "Tài khoản mới của bạn đã được thiết lập." + +#~ msgid "_Forget" +#~ msgstr "_Quên" + +#~ msgid "_Group Chat" +#~ msgstr "T_rò chuyện nhóm" + +#~ msgid "_No" +#~ msgstr "Khô_ng" + +#~ msgid "_Search..." +#~ msgstr "Tìm _kiếm..." + +#~ msgid "_Yes" +#~ msgstr "_Có" diff --git a/trunk/po/zh_CN.po b/trunk/po/zh_CN.po new file mode 100644 index 000000000..775ce629c --- /dev/null +++ b/trunk/po/zh_CN.po @@ -0,0 +1,1961 @@ +# traditional Chinese translation of gossip. +# Convert to Simp. Chinese translation of gossip. +# Copyright (C) 2003-2004 Free Software Foundation, Inc. +# Abel Cheung <maddog@linux.org.hk>, 2003. +# Mai Haohui <maihaohui@hotmail.com>, 2003. +# Rongjun Mu <elanmu@sina.com>, 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2004-06-19 11:02+0800\n" +"Last-Translator: Mai Haohui <maihaohui@hotmail.com>\n" +"Language-Team: zh_CN <i18n-translation@lists.linux.net.cn>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: UTF-8\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "即时通讯程序" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "即时通讯程序" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "添加到您的联系人清单" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "" + +#: ../data/empathy.schemas.in.h:8 +#, fuzzy +msgid "Enable sound when away" +msgstr "当“离开”时关闭声音(_A)" + +#: ../data/empathy.schemas.in.h:9 +#, fuzzy +msgid "Enable sound when busy" +msgstr "当“忙碌”时关闭声音(_B)" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "Gossip - 发送消息" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "隐藏主窗口" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "隐藏主窗口。" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "" + +#: ../data/empathy.schemas.in.h:14 +#, fuzzy +msgid "Show avatars" +msgstr "显示联系人清单(_S)" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "主窗口高度。" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "显示离线联系人" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "" + +#: ../data/empathy.schemas.in.h:19 +#, fuzzy +msgid "The theme that is used to display the conversation in chat windows." +msgstr "此名称将在聊天窗口中标识您。" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "使用表情图标" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "使用通知声音" + +#: ../data/empathy.schemas.in.h:22 +msgid "Use theme for chat rooms" +msgstr "" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "对话时是否将表情符号转换为真正的图标。" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "收到消息时是否播放声音。" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "“离开”时是否播放声音。" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "“忙碌”时是否播放声音。" + +#: ../data/empathy.schemas.in.h:28 +#, fuzzy +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "收到消息时是否播放声音。" + +#: ../data/empathy.schemas.in.h:29 +#, fuzzy +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "是否显示联系人清单中离线的联系人。" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "是否显示联系人清单中离线的联系人。" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "是否显示联系人清单中离线的联系人。" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "离线" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "在线" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "忙碌" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "离开" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "显示联系人清单(_S)" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "组" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "添加联系人(_A)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "隐藏联系人清单(_H)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "连接" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "编辑收藏夹(_E)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +msgid "Manage Favorites..." +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "显示离线联系人(_O)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "接受(_A)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +#, fuzzy +msgid "_Accounts" +msgstr "接受(_A)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "添加联系人(_A)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "聊天(_C)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +#, fuzzy +msgid "_Contents" +msgstr "连接" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +msgid "_Edit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "新建消息(_C)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +#, fuzzy +msgid "_Personal Information" +msgstr "个人信息" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "首选项(_P)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +#, fuzzy +msgid "_Room" +msgstr "房间(_R):" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "_View Previous Conversations" +msgstr "对话(_C)" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "状态" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "显示联系人清单(_S)" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +msgid "" +"Empathy 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." +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +#, fuzzy +msgid "An Instant Messaging client for GNOME" +msgstr "Gossip 即时通讯客户端" + +#: ../libempathy-gtk/gossip-about-dialog.c:105 +#, fuzzy +msgid "translator-credits" +msgstr "" +"开源软件国际化简体中文组\n" +"(http://i18n.linux.net.cn)\n" +"Abel Cheung\n" +"Mai Haohui\n" +"Rongjun Mu" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "在线" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>帐户设置</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>帐户设置</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +#, fuzzy +msgid "Accounts" +msgstr "Jabber 帐户" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +#, fuzzy +msgid "<b>Account</b>" +msgstr "<b>收藏夹:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>收藏夹:</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>帐户设置</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "聊天" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +#, fuzzy +msgid "_Name:" +msgstr "名字:" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "话题(_T):" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">例如:user@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +#, fuzzy +msgid "Pass_word:" +msgstr "密码(_P):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +#, fuzzy +msgid "Reso_urce:" +msgstr "资源(_R):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "将消息用 SSL 加密(_E)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +#, fuzzy +msgid "_Port:" +msgstr "端口(_O):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "服务器(_S):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>帐户设置</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "已断开连接" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "已连接" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +msgid "C_lear" +msgstr "清除(_L)" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "聊天" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +#, fuzzy +msgid "Contact Infor_mation" +msgstr "联系人信息(_I)" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "聊天" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "注册(_G)..." + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "输入状态消息:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +msgid "Invite" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "左移标签(_L)" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "右移标签(_R)" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +#, fuzzy +msgid "_Add To Favorites" +msgstr "编辑收藏夹(_E)..." + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "对话(_C)" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "分离标签(_D)" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "下一标签(_N)" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +msgid "_Paste" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "上一标签(_P)" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +#, fuzzy +msgid "_Show Contacts" +msgstr "显示联系人清单(_S)" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "标签(_T)" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "复制链接地址(_C)" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "打开链接(_O)" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%Y年%-m月%-d日%A" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "新建消息(_C)..." +msgstr[1] "新建消息(_C)..." + +#: ../libempathy-gtk/gossip-chat-window.c:691 +#, fuzzy +msgid "Chat Room" +msgstr "Gossip - 聊天" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "对话(_C)" +msgstr[1] "对话(_C)" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "输入消息。" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "添加联系人(_A)..." + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "组" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "加入一位联系人" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "联系人信息(_I)" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "联系人信息" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/更改组名(_N)" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "用户名(_U):" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "请输入联系人 %s 的新昵称" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +msgid "_Remove" +msgstr "删除(_R)" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/删除联系人(_R)" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "Gossip - 编辑聊天组" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +msgid "_Send File..." +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "选择" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "对话(_C)" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +#, fuzzy +msgid "<b>Appearance</b>" +msgstr "外观" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +#, fuzzy +msgid "<b>Audio</b>" +msgstr "<b>收藏夹:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +#, fuzzy +msgid "<b>Behaviour</b>" +msgstr "<b>收藏夹:</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "状态" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "连接" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +#, fuzzy +msgid "<b>Visual</b>" +msgstr "<b>描述</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +#, fuzzy +msgid "Chat Th_eme:" +msgstr "聊天名称(_N):" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +#, fuzzy +msgid "Enable sounds when _away" +msgstr "当“离开”时关闭声音(_A)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +#, fuzzy +msgid "Enable sounds when _busy" +msgstr "当“忙碌”时关闭声音(_B)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +#, fuzzy +msgid "Notifications" +msgstr "使用通知声音" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +#, fuzzy +msgid "Preferences" +msgstr "首选项(_P)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +#, fuzzy +msgid "Show _smileys as images" +msgstr "将表情符号转换为图形(_S)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "显示联系人清单(_S)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +msgid "_Enable spell checking" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +#, fuzzy +msgid "_Play sound when messages arrive" +msgstr "收到消息时播放声音" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "Gossip - 编辑聊天组" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +#, fuzzy +msgid "Custom message..." +msgstr "请求消息" + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +#, fuzzy +msgid "Clear List..." +msgstr "清除(_L)" + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "您要接受请求吗?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +#, fuzzy +msgid "Clear List" +msgstr "清除(_L)" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "输入状态消息:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +#, fuzzy +msgid "Status Message Presets" +msgstr "状态消息" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "预设状态消息" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s 离线了" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, fuzzy, c-format +msgid "%s has come online" +msgstr "%s 上线了" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +msgid "Simple" +msgstr "" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "清除(_L)" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "启动时不自动登录" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "即时通讯程序" + +#, fuzzy +#~ msgid "Gossip Instant Messenger" +#~ msgstr "即时通讯程序" + +#, fuzzy +#~ msgid "Joining" +#~ msgstr "加入(_J)" + +#, fuzzy +#~ msgid "Unknown" +#~ msgstr "未知的错误" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "使用通知声音" + +#, fuzzy +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "未知的错误" + +#, fuzzy +#~ msgid "Unavailable" +#~ msgstr "在线" + +#, fuzzy +#~ msgid "An unknown error occurred." +#~ msgstr "未知的错误" + +#, fuzzy +#~ msgid "Connection refused." +#~ msgstr "已连接" + +#, fuzzy +#~ msgid "Connection timed out." +#~ msgstr "已连接" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "Jabber 帐户" + +#~ msgid "Home" +#~ msgstr "首页" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "正在注册帐户" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "断开连接(_D)" + +#~ msgid "Connect" +#~ msgstr "连接" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "成功注册帐户" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "注册帐户失败" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "请输入您的密码:" + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "请输入您的密码:" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "请为组 %s 输入新名称" + +#, fuzzy +#~ msgid "Information requested, please wait..." +#~ msgstr "<b>已请求信息,请稍等...</b>" + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "我希望可以将您加入我的联系人清单内。" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "新建消息(_C)..." +#~ msgstr[1] "新建消息(_C)..." + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "订阅请求" +#~ msgstr[1] "订阅请求" + +#, fuzzy +#~ msgid "Edit Account _Details" +#~ msgstr "修改帐户信息" + +#~ msgid "New message from %s" +#~ msgstr "收到来自 %s 的消息" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "接受(_A)" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "名字:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "房间(_R):" + +#, fuzzy +#~ msgid "Auto Connect" +#~ msgstr "连接" + +#, fuzzy +#~ msgid "Information requested..." +#~ msgstr "<b>已请求信息,请稍等...</b>" + +#, fuzzy +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "" +#~ "您是否想从联系人清单中删除\n" +#~ "%s?" + +#, fuzzy +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "请为组 %s 输入新名称" + +#~ msgid "Select" +#~ msgstr "选择" + +#~ msgid "Unsorted" +#~ msgstr "未排序" + +#, fuzzy +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "未知的错误" + +#, fuzzy +#~ msgid "%s would like to send you a file." +#~ msgstr "我希望可以将您加入我的联系人清单内。" + +#, fuzzy +#~ msgid "Someone would like to send you a file." +#~ msgstr "我希望可以将您加入我的联系人清单内。" + +#, fuzzy +#~ msgid "Select a file" +#~ msgstr "选择" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "连接(_C)..." + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "连接" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "您想使用什么昵称来代表这个联系人?" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "话题(_T):" + +#, fuzzy +#~ msgid "Account" +#~ msgstr "Jabber 帐户" + +#, fuzzy +#~ msgid "Conversation With" +#~ msgstr "对话(_C)" + +#~ msgid "List the available accounts" +#~ msgstr "列出可使用的帐户" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "启动时连接到哪个帐户" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "帐户名称" + +#~ msgid "Available accounts:" +#~ msgstr "可使用的帐户:" + +#~ msgid "[default]" +#~ msgstr "[默认]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "没有名为“%s”的帐户。" + +#, fuzzy +#~ msgid "Join" +#~ msgstr "加入(_J)" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "聊天" + +#, fuzzy +#~ msgid "Chat Rooms" +#~ msgstr "Gossip - 聊天" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "<b>已请求信息,请稍等...</b>" + +#, fuzzy +#~ msgid "Default" +#~ msgstr "[默认]" + +#, fuzzy +#~ msgid "Chat!" +#~ msgstr "聊天" + +#, fuzzy +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s 将会被加入至您的联系人清单。" + +#, fuzzy +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "%s 将会被加入至您的联系人清单。" + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "订阅请求" + +#, fuzzy +#~ msgid "Contact Information" +#~ msgstr "联系人信息(_I)" + +#, fuzzy +#~ msgid "New subscription request from %s" +#~ msgstr "订阅请求" + +#, fuzzy +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "" +#~ "您是否想从联系人清单中删除\n" +#~ "%s?" + +#, fuzzy +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "" +#~ "您是否想从联系人清单中删除\n" +#~ "%s?" + +#, fuzzy +#~ msgid "Please enter your %s account password" +#~ msgstr "请输入您的密码:" + +#~ msgid "Remember Password?" +#~ msgstr "是否记住密码?" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "聊天" + +#, fuzzy +#~ msgid "Contact goes online" +#~ msgstr "%s 上线了" + +#, fuzzy +#~ msgid "Do you want to accept this file?" +#~ msgstr "您要接受请求吗?" + +#, fuzzy +#~ msgid "File name:" +#~ msgstr "用户名(_U):" + +#, fuzzy +#~ msgid "File size:" +#~ msgstr "网站:" + +#~ msgid "Web site:" +#~ msgstr "网站:" + +#~ msgid "_Accept" +#~ msgstr "接受(_A)" + +#~ msgid "_Deny" +#~ msgstr "拒绝(_D)" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>收藏夹:</b>" + +#, fuzzy +#~ msgid "Account:" +#~ msgstr "Jabber 帐户" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "Gossip - 编辑聊天组" + +#, fuzzy +#~ msgid "Group Chat" +#~ msgstr "Gossip - 聊天" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "加入(_J)" + +#, fuzzy +#~ msgid "Join room on start_up" +#~ msgstr "启动时不自动登录" + +#, fuzzy +#~ msgid "N_ame:" +#~ msgstr "名字:" + +#, fuzzy +#~ msgid "S_erver:" +#~ msgstr "服务器:" + +#~ msgid "_Nickname:" +#~ msgstr "昵称(_N):" + +#~ msgid "_Room:" +#~ msgstr "房间(_R):" + +#, fuzzy +#~ msgid "<b>About</b>" +#~ msgstr "<b>收藏夹:</b>" + +#, fuzzy +#~ msgid "<b>Client Information</b>" +#~ msgstr "客户信息" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>收藏夹:</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "状态" + +#, fuzzy +#~ msgid "<b>Personal Details</b>" +#~ msgstr "个人信息" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "订阅" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">例如:user@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "Jabber 帐户" + +#, fuzzy +#~ msgid "Add Contact" +#~ msgstr "添加联系人(_A)..." + +#, fuzzy +#~ msgid "Ch_at" +#~ msgstr "聊天" + +#~ msgid "Client:" +#~ msgstr "客户:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "添加联系人(_A)..." + +#, fuzzy +#~ msgid "Connect on S_tartup" +#~ msgstr "启动时不自动登录" + +#, fuzzy +#~ msgid "Contacts" +#~ msgstr "添加联系人(_A)..." + +#~ msgid "Country:" +#~ msgstr "国籍:" + +#~ msgid "Decide _Later" +#~ msgstr "以后再决定(_L)" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "添加联系人(_A)..." + +#~ msgid "Edit Groups" +#~ msgstr "编辑组" + +#~ msgid "Email:" +#~ msgstr "电子邮件:" + +#, fuzzy +#~ msgid "ID:" +#~ msgstr "JID" + +#~ msgid "Name:" +#~ msgstr "名字:" + +#~ msgid "OS:" +#~ msgstr "操作系统:" + +#, fuzzy +#~ msgid "Personal Details" +#~ msgstr "个人信息(_P)" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "注册(_G)..." + +#, fuzzy +#~ msgid "Search" +#~ msgstr "搜索(_S)..." + +#, fuzzy +#~ msgid "Spell Checker" +#~ msgstr "Gossip - 发送消息" + +#, fuzzy +#~ msgid "Subscription Request" +#~ msgstr "订阅请求" + +#, fuzzy +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "您想使用什么昵称来代表这个联系人?" + +#, fuzzy +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "此名称将在聊天窗口中标识您。" + +#, fuzzy +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "此名称将在聊天窗口中标识您。" + +#~ msgid "Version:" +#~ msgstr "版本:" + +#, fuzzy +#~ msgid "View Previous Conversations" +#~ msgstr "对话(_C)" + +#, fuzzy +#~ msgid "Which account do you want to use?" +#~ msgstr "您想使用什么用户名?" + +#, fuzzy +#~ msgid "_Connect" +#~ msgstr "连接" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "描述" + +#~ msgid "_Disconnect" +#~ msgstr "断开连接(_D)" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "电子邮件:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "输入您想与他聊天的人的用户 ID" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "端口(_O):" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "名字:" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "组" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "昵称(_N):" + +#, fuzzy +#~ msgid "_Password:" +#~ msgstr "密码(_P):" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "状态消息(_S)" + +#, fuzzy +#~ msgid "_Retrieve" +#~ msgstr "删除(_R)" + +#~ msgid "_Subscribe" +#~ msgstr "订阅(_S)" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "网站:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>帐户设置</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>帐户设置</b>" + +#~ msgid "Preset status messages" +#~ msgstr "预设状态消息" + +#~ msgid "Preset status messages." +#~ msgstr "预设状态消息。" + +#, fuzzy +#~ msgid "Connecting" +#~ msgstr "连接" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s 将会被加入至您的联系人清单。" + +#, fuzzy +#~ msgid "%s ID of new contact:" +#~ msgstr "新联系人的 Jabber ID(_J):" + +#, fuzzy +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "请输入您的密码:" + +#~ msgid "Contact Information for %s" +#~ msgstr "%s 的联系人信息" + +#, fuzzy +#~ msgid "/Contact Infor_mation" +#~ msgstr "/联系人信息(_I)" + +#, fuzzy +#~ msgid "/Re_name Contact" +#~ msgstr "/更改联系人名称(_N)" + +#, fuzzy +#~ msgid "/_Edit Groups" +#~ msgstr "/编辑组(_E)" + +#, fuzzy +#~ msgid "/_View Previous Conversations" +#~ msgstr "对话(_C)" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "请输入联系人 %s 的新昵称" + +#~ msgid "Edit groups for %s" +#~ msgstr "编辑 %s 的组" + +#~ msgid "Conversation Log" +#~ msgstr "对话日志" + +#~ msgid "Registering account" +#~ msgstr "正在注册帐户" + +#, fuzzy +#~ msgid "Respond" +#~ msgstr "原因:" + +#, fuzzy +#~ msgid "Add to _favourites" +#~ msgstr "编辑收藏夹(_E)..." + +#, fuzzy +#~ msgid "Na_me:" +#~ msgstr "名字:" + +#, fuzzy +#~ msgid "New Chat Room" +#~ msgstr "Gossip - 聊天" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>已请求信息,请稍等...</b>" + +#, fuzzy +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">例如:user@jabber.org</span>" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "Gossip - 聊天" + +#, fuzzy +#~ msgid "Connection Details" +#~ msgstr "个人信息" + +#, fuzzy +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "您是否已经在 Jabber 服务器中有帐户了?" + +#, fuzzy +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "请输入联系人 %s 的新昵称" + +#, fuzzy +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "请输入联系人 %s 的新昵称" + +#, fuzzy +#~ msgid "Finished" +#~ msgstr "设置完成" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip 是一个新潮的 Jabber 即时通讯客户端程序。\n" +#~ "\n" +#~ "此助理会帮助您配置 Gossip,并连接至您最喜欢的 Jabber 服务器。\n" +#~ "\n" +#~ "要开始,请点击“前进”。" + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "您要发送一个请求才能订阅用户的在线通知。在您的联系人清单中,该用户会被显示" +#~ "为“离线”直至他同意您的请求。" + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "您想将这个联系人加入哪个组之内?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Nickname:" +#~ msgstr "昵称:" + +#, fuzzy +#~ msgid "Port:" +#~ msgstr "端口(_O):" + +#, fuzzy +#~ msgid "Registering Account" +#~ msgstr "正在注册帐户" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "资源(_R):" + +#~ msgid "Sending request" +#~ msgstr "发送请求" + +#~ msgid "Server:" +#~ msgstr "服务器:" + +#, fuzzy +#~ msgid "Web Site:" +#~ msgstr "网站:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "欢迎使用 Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "该联系人使用哪种即时通讯系统?" + +#~ msgid "What is your name?" +#~ msgstr "您的名字是?" + +#, fuzzy +#~ msgid "What password do you want to use?" +#~ msgstr "您想使用哪个服务器?" + +#~ msgid "What username do you use?" +#~ msgstr "您使用什么用户名?" + +#~ msgid "What username do you want to use?" +#~ msgstr "您想使用什么用户名?" + +#, fuzzy +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "您想将这个联系人加入哪个组之内?" + +#, fuzzy +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "" +#~ "Gossip 已经正确完成设定。\n" +#~ "您可以在稍后在菜单中选取“聊天→连接...”,更改帐户设定。" + +#, fuzzy +#~ msgid "Your Account" +#~ msgstr "Jabber 帐户" + +#~ msgid "Your Identity" +#~ msgstr "您的身份" + +#, fuzzy +#~ msgid "_Group Chat" +#~ msgstr "Gossip - 聊天" + +#, fuzzy +#~ msgid "_No" +#~ msgstr "否" + +#~ msgid "_Search..." +#~ msgstr "搜索(_S)..." + +#, fuzzy +#~ msgid "_Yes" +#~ msgstr "是" + +#~ msgid "Be silent when away" +#~ msgstr "离开时不发出声音" + +#~ msgid "Be silent when busy" +#~ msgstr "忙碌时不发出声音" + +#~ msgid "Height of main window" +#~ msgstr "主窗口高度" + +#~ msgid "The X position of the main window." +#~ msgstr "主窗口水平位置。" + +#~ msgid "The Y position of the main window." +#~ msgstr "主窗口垂直位置。" + +#~ msgid "The width of the main window." +#~ msgstr "主窗口宽度。" + +#~ msgid "Width of the main window" +#~ msgstr "主窗口宽度" + +#~ msgid "X position of main window" +#~ msgstr "主窗口水平位置" + +#~ msgid "Y position of main window" +#~ msgstr "主窗口垂直位置" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip 即时通讯客户端" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "隐藏主窗口。" + +#, fuzzy +#~ msgid "Requested Information" +#~ msgstr "帐户信息(_A)" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "状态消息" + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s 离线了" + +#~ msgid "Available..." +#~ msgstr "在线..." + +#~ msgid "Busy..." +#~ msgstr "忙碌..." + +#~ msgid "Away..." +#~ msgstr "离开..." + +#~ msgid "Contact _Information" +#~ msgstr "联系人信息(_I)" + +#, fuzzy +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>描述</b>" + +#, fuzzy +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - 聊天组" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "加入聊天组(_J)..." + +#, fuzzy +#~ msgid "Por_t:" +#~ msgstr "端口(_O):" + +#, fuzzy +#~ msgid "Requested information." +#~ msgstr "客户信息" + +#, fuzzy +#~ msgid "Could not open connection" +#~ msgstr "无法连接" + +#, fuzzy +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "您想使用哪个服务器?" + +#, fuzzy +#~ msgid "Connection to the server failed." +#~ msgstr "<b>连接至服务器</b>" + +#~ msgid "Written by:" +#~ msgstr "作者:" + +#~ msgid "Artwork by:" +#~ msgstr "美工:" + +#~ msgid "Translated by:" +#~ msgstr "翻译:" + +#, fuzzy +#~ msgid "Account ID" +#~ msgstr "帐户信息(_A)" + +#~ msgid "%sChat - %s" +#~ msgstr "%s聊天 - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/显示日志(_L)" + +#, fuzzy +#~ msgid "Persian" +#~ msgstr "版本:" + +#~ msgid "View Lo_g" +#~ msgstr "查看日志(_G)" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - 聊天组" + +#, fuzzy +#~ msgid "Gossip - Add contact" +#~ msgstr "添加联系人" + +#, fuzzy +#~ msgid "Gossip - Contact Information" +#~ msgstr "联系人信息(_I)" + +#, fuzzy +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - 编辑聊天组" + +#, fuzzy +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - 聊天组" + +#, fuzzy +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - 发送消息" + +#, fuzzy +#~ msgid "Gossip - Personal Details" +#~ msgstr "个人信息" + +#, fuzzy +#~ msgid "Gossip - Preferences" +#~ msgstr "首选项" + +#, fuzzy +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - 发送消息" + +#, fuzzy +#~ msgid "Personal Details Saved!" +#~ msgstr "个人信息" + +#~ msgid "What request message do you want to send to %s?" +#~ msgstr "您想给 %s 发送什么请求?" + +#~ msgid "Make sure that your account information is correct." +#~ msgstr "请确保您的帐户信息是正确的。" + +#~ msgid "%s wants to be notified of your status." +#~ msgstr "%s 想收到您状态的通知。" + +#~ msgid "You were disconnected from the server. Do you want to reconnect?" +#~ msgstr "服务器方面已经中断连接。是否重新连接?" + +#~ msgid "" +#~ "Make sure that your account information is correct. The server may also " +#~ "currently be unavailable." +#~ msgstr "请确保您的帐户信息是正确的。服务器目前也可能不可用。" + +#~ msgid "Edit List..." +#~ msgstr "编辑清单..." + +#~ msgid "An error occurred when chatting with %s." +#~ msgstr "和 %s 聊天时发生错误。" + +#~ msgid "Details:" +#~ msgstr "详细资料:" + +#~ msgid "An error occurred when chatting in the group chat %s." +#~ msgstr "在聊天组 %s 聊天时发生错误。" + +#~ msgid "Unable to enter the group chat %s." +#~ msgstr "无法进入聊天组 %s。" + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip 现在会尝试使用您的帐户:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "Gossip 现在会尝试注册帐户:" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "From:" +#~ msgstr "来自:" + +#~ msgid "Gossip - Received Message" +#~ msgstr "Gossip - 收到消息" + +#~ msgid "In reply to:" +#~ msgstr "回复到:" + +#~ msgid "To:" +#~ msgstr "接收人:" + +#~ msgid "_Reply..." +#~ msgstr "回复(_R)..." + +#~ msgid "_Send" +#~ msgstr "发送(_S)" + +#~ msgid "C_onnect" +#~ msgstr "连接(_O)" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Available chat rooms</b>" +#~ msgstr "<b>可供选择的聊天室</b>" + +#~ msgid "<b>Chat room information</b>" +#~ msgstr "<b>聊天室信息</b>" + +#~ msgid "Gossip - Join Group Chat" +#~ msgstr "Gossip - 加入聊天组" + +#~ msgid "N_ickname:" +#~ msgstr "昵称(_I):" + +#~ msgid "" +#~ "Pick a favorite, or enter nickname, server name, and the name of the chat " +#~ "room to enter." +#~ msgstr "从收藏夹选择一个,或者输入昵称、服务器和要进入的聊天室名称。" + +#~ msgid "R_emove" +#~ msgstr "删除(_E)" + +#~ msgid "_Add" +#~ msgstr "添加(_A)" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Personal information</b>" +#~ msgstr "<b>个人信息</b>" + +#~ msgid "<b>Preset status messages</b>" +#~ msgstr "<b>预设状态消息</b>" + +#~ msgid "<i>Information not available</i>" +#~ msgstr "<i>信息不可用</i>" + +#~ msgid "Choose a Server" +#~ msgstr "选择服务器" + +#~ msgid "Choose from list:" +#~ msgstr "从清单中选择:" + +#~ msgid "Information about ..." +#~ msgstr "信息关于..." + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "On what server do you have a Jabber account?" +#~ msgstr "您在哪个服务器有 Jabber 帐户?" + +#~ msgid "Sound" +#~ msgstr "声音" + +#~ msgid "Use a different server" +#~ msgstr "使用另一个服务器" + +#~ msgid "What request message do you want to send to ...?" +#~ msgstr "您要给联系人发送什么请求?" + +#~ msgid "subscription_label" +#~ msgstr "订阅标签" diff --git a/trunk/po/zh_HK.po b/trunk/po/zh_HK.po new file mode 100644 index 000000000..36a663cae --- /dev/null +++ b/trunk/po/zh_HK.po @@ -0,0 +1,2561 @@ +# traditional Chinese translation of gossip. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# Abel Cheung <abel@oaka.org>, 2003, 2004. +# Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip 0.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-08-24 18:45+0800\n" +"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n" +"Language-Team: Chinese (traditional) <community@linuxhall.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "即時通訊程式" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "即時通訊程式" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "永遠為新的聊天開啟個別的聊天視窗。" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "聊天視窗佈景主題" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "以逗號分隔的拼字檢查程式語言清單(例. en, fr, nl)。" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "顯示好友名單(_S)" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "預設用以選擇大頭貼圖像的目錄" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "當聯絡人上線時使用彈出式選單" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "當「離開」時啟用音效" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "當「忙碌」時啟用音效" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "啟用拼字檢查" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "隱藏主視窗" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "隱藏主視窗。" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "在個別視窗中開啟新聊天" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "顯示大頭貼" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "主視窗高度" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "顯示已離線的好友" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "拼字檢查程式語言" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "用來選擇大頭貼圖像的最後目錄。" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "這個佈景主題會用在聊天視窗中顯示交談。" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "使用表情圖示" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "使用音效來通知收到訊息" + +#: ../data/empathy.schemas.in.h:22 +#, fuzzy +msgid "Use theme for chat rooms" +msgstr "加入該聊天室" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "在對話時,是否將代表表情圖示的字符轉換為真正的圖示。" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "將收到訊息時,是否播放音效。" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "當離開時是否播放音效。" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "當忙碌時是否播放音效。" + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "當聯絡人上線時,是否顯示彈出式視窗。" + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "是否在聯絡人清單與聊天視窗中顯示大頭貼。" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "是否顯示清單中離線的好友。" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "是否在聯絡人清單與聊天視窗中顯示大頭貼。" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "離線" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "已連線" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "忙碌" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "離開" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "顯示好友名單(_S)" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "群組" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "聯絡人" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "隱藏好友名單(_H)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "內容(_C)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "加入喜好(_F)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "加入新的(_N)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +#, fuzzy +msgid "Manage Favorites..." +msgstr "加入喜好(_F)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "顯示已離線的好友(_O)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "帳號(_A)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "帳號(_A)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "加入好友(_A)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "聊天(_C)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "內容(_C)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "編輯" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "新增訊息(_N)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "個人資訊(_P)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "偏好設定(_P)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "聊天室(_R)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "顯示前一次交談(_V)" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "狀態" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "顯示好友名單(_S)" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip 是自由軟件;你可以遵照Free Software Foundation (Free Software " +"Foundation) 出版的 GNU 通用公共許可證條款 (GNU General Public License) 第二版" +"來修改和重新發佈這一程式,或者自由選擇使用任何更新的版本。" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"發佈 Gossip 的目的是希望它有用,但沒有任何擔保。甚至沒有適合特定目的而隱含的" +"擔保。更詳細的情況請參閱 GNU 通用公共許可證。" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"你應該已經和 Gossip 一起收到一份 GNU 通用公共許可證的副本;如果還沒有,寫信" +"給: Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA " +"02111-1307 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "GNOME 的即時通訊軟件" + +# Abel's note: The dialog is really not wide enough to show email with name. +# +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"如對翻譯有任何意見,請送一封電郵給\n" +"以下地址,GNOME 翻譯隊伍會盡快回覆你:\n" +"community@linuxhall.org\n" +"\n" +"Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>, 2003, 05\n" +"Craig Jeffares <cjeffares@novell.com>, 2004\n" +"Joe Man <trmetal@yahoo.com.hk>, 2001" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "已連線" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "啟用" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>帳號設定</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>帳號設定</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "帳號" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"即將移除你的 %s 帳號!\n" +"確定要繼續嗎?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"如果你決定繼續,任何相關的交談及聊天室將 不會 被移除。\n" +"\n" +"若你稍後決定將該帳號加回來,它們仍然可以使用。" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>帳戶</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>帳戶</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>帳號設定</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "聊天!" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "名稱(_N):" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "題目(_T):" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">範例:user@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "登入 I_D:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "密碼(_W):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "資源(_U):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "將訊息加密(_SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "連接埠(_P):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "伺服器(_S):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>帳號設定</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "已斷線" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "插入笑臉圖像" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "檢查拼字(_C)..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "已連線" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +#, fuzzy +msgid "C_lear" +msgstr "清除(_L)" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "聊天" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "聯絡人資訊(_M)" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "聊天(_A)" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "邀請(_V)" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "插入笑臉圖像(_S)" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "輸入狀態訊息:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +#, fuzzy +msgid "Invite" +msgstr "邀請(_V)" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "將分頁左移(_L)" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "將分頁右移(_R)" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "你已經被邀請參加聊天會議。" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "加入喜好(_A)" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "對話(_C)" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "脫離分頁(_D)" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "下個分頁(_N)" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +#, fuzzy +msgid "_Paste" +msgstr "日期" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "上個分頁(_P)" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "顯示好友名單(_S)" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "分頁(_T)" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "複製鏈結地址(_C)" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "開啟連結(_O)" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%Y-%m-%d (%A)" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "新增訊息" +msgstr[1] "新增訊息" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "聊天室" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "對話(_C)" +msgstr[1] "對話(_C)" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "正在鍵入訊息。" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "聯絡人" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "群組" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "加入好友" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "聯絡人資訊(_M)" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "好友資訊" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/更改群組名稱(_N)" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "檔案名稱:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "請輸入這個帳號的名稱" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "_Remove" +msgstr "/移除好友(_R)" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/移除好友(_R)" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "/邀請至聊天室(_I)" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "_Send File..." +msgstr "/傳送檔案(_S)..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "選擇一個檔案" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "顯示前一次交談" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "語言" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>外觀</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>音訊</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>行為</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>狀態</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>語言</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "<b>連線</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>視覺效果</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "<small>這裏的語言清單只反映出你已經安裝字典的語言。</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "大頭貼是使用者選擇來提供聯絡人清單顯示用的" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "聊天佈景主題(_E):" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "聯絡人上線時顯示通知(_O)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "當「離開」時啟用音效(_A)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "當「忙碌」時啟用音效(_B)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "一般" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "通知" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "偏好設定" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "顯示大頭貼(_A)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "以圖像顯示表情符號(_S)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "顯示好友名單(_S)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "拼字檢查" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +#, fuzzy +msgid "_Enable spell checking" +msgstr "啟用拼字檢查" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "在個別視窗開啟新的聊天(_O)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "收到訊息時播放音效(_P)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "儲存此聊天室(_T)" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "自訂訊息..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "清除清單..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "確定要清空這個清單?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "這樣會移除任何你曾加入到預先設定狀態訊息清單中的自訂訊息。" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "清除清單" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "輸入狀態訊息:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "狀態訊息預先設定" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "加入至狀態訊息清單" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s 已離線" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s 已經上線" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "古典" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +#, fuzzy +msgid "Simple" +msgstr "範例" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "清除(_L)" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "藍色" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "啟動程式時不進行連線" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Gossip 即時通訊程式" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Gossip 即時通訊程式" + +#~ msgid "Normal" +#~ msgstr "正常" + +#~ msgid "Joining" +#~ msgstr "加入中" + +#~ msgid "Active" +#~ msgstr "使用中" + +#~ msgid "Inactive" +#~ msgstr "未使用" + +#~ msgid "Unknown" +#~ msgstr "不明" + +#~ msgid "Error" +#~ msgstr "錯誤" + +#, fuzzy +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "加利西亞文" +#~ msgstr[1] "加利西亞文" + +#, fuzzy +#~ msgid "No role" +#~ msgstr "正常" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "通知" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "你所選的暱稱已經被使用了。" + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "你嘗試加入的聊天室需要密碼。" + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "遠端會議伺服器沒有在時間內回應。" + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "找不到你嘗試加入的會議伺服器。" + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "發生了未知的錯誤,請檢查你的詳細資訊是否正確。" + +#, fuzzy +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "加入該聊天室" + +#~ msgid "Unavailable" +#~ msgstr "無法使用" + +#~ msgid "An unknown error occurred." +#~ msgstr "發生不明的錯誤。" + +#~ msgid "Connection refused." +#~ msgstr "連線被拒絕。" + +#~ msgid "Server address could not be resolved." +#~ msgstr "無法解析伺服器位址。" + +#~ msgid "Connection timed out." +#~ msgstr "連線已逾時。" + +#~ msgid "Authentication failed." +#~ msgstr "驗證已失敗。" + +#~ msgid "The username you are trying already exists." +#~ msgstr "你所輸入的使用者名稱已經被使用了。" + +#~ msgid "The username you are trying is not valid." +#~ msgstr "你所輸入的使用者名稱是無效的。" + +#~ msgid "This feature is unavailable." +#~ msgstr "這項功能無法使用。" + +#~ msgid "This feature is unauthorized." +#~ msgstr "這項功能未獲授權。" + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "指定的通訊協定發生未預期的錯誤。" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "新增帳號" + +#~ msgid "Home" +#~ msgstr "首頁" + +#~ msgid "Couldn't send message!" +#~ msgstr "無法傳送訊息!" + +#~ msgid "Connection could not be opened" +#~ msgstr "無法開啟連線" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "這項功能無法使用。" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "註冊" + +#, fuzzy +#~ msgid "There was an internal service error" +#~ msgstr "內部的伺服器錯誤" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "這項功能未獲授權。" + +#, fuzzy +#~ msgid "The remote service timed out" +#~ msgstr "遠端伺服器逾時" + +#~ msgid "Stop" +#~ msgstr "停止" + +#~ msgid "Disconnect" +#~ msgstr "中斷連線" + +#~ msgid "Connect" +#~ msgstr "連線" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "成功註冊帳號" + +#, fuzzy +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "你不能將 --no-connect 與 --account 一起使用" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "註冊新帳號設定值不成功" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "輸入你的帳號密碼: " + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "輸入你的帳號密碼: " + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "請為新的群組命名:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "沒有這個好友的相關資訊。" + +#~ msgid "Information requested, please wait..." +#~ msgstr "要求資訊,請稍候..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "我希望可以將你加入我的好友名單之內。" + +#~ msgid "To summarize:" +#~ msgstr "要做總結:" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "新增訊息" +#~ msgstr[1] "新增訊息" + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "訂閱要求" +#~ msgstr[1] "訂閱要求" + +#, fuzzy +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "檔案傳輸要求" +#~ msgstr[1] "檔案傳輸要求" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "無法傳送訊息!" +#~ msgstr[1] "無法傳送訊息!" + +#, fuzzy +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "錯誤" +#~ msgstr[1] "錯誤" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "如果離開,你將失去所有未閱讀的資訊。" + +#~ msgid "Edit Account _Details" +#~ msgstr "編輯帳號詳細資訊(_D)" + +#~ msgid "Click to enlarge" +#~ msgstr "按這裏放大" + +#~ msgid "Word" +#~ msgstr "字" + +#~ msgid "New message from %s" +#~ msgstr "收到來自 %s 的新訊息" + +#~ msgid "Your invitation has been declined" +#~ msgstr "你的邀請被拒絕了" + +#~ msgid "Accept" +#~ msgstr "接受" + +#~ msgid "Decline" +#~ msgstr "拒絕" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "名稱:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "聊天室(_R)" + +#~ msgid "Auto Connect" +#~ msgstr "自動連線" + +#~ msgid "Information requested..." +#~ msgstr "要求資訊..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "是否想從名單中移除這個好友?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "請為新的群組命名:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "選擇" + +#~ msgid "Unsorted" +#~ msgstr "未排序" + +#~ msgid "New file transfer request from %s" +#~ msgstr "來自 %s 的檔案傳輸要求" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "雙方都不支援檔案傳輸。" + +#~ msgid "Your file transfer offer declined." +#~ msgstr "你的檔案傳輸要求被拒絕了。" + +#~ msgid "The other user decided not to continue." +#~ msgstr "另一個使用者決定不要繼續。" + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "在檔案傳輸過程中遇到未知的錯誤。" + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s 希望可以傳送給你一個檔案。" + +#~ msgid "Someone would like to send you a file." +#~ msgstr "某人想要傳送給你一個檔案。" + +#~ msgid "Select a file" +#~ msgstr "選擇一個檔案" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "正在連線" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "停止連線" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "邀請 %s 參加這個聊天會議。" + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s 已經設定該主題" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "你想使用甚麼稱呼來代表這個好友?" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "%s 已經設定該主題" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "%s 已經設定該主題" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "題目(_T):" + +#~ msgid "Account" +#~ msgstr "帳號" + +#~ msgid "Conversation With" +#~ msgstr "交談於" + +#~ msgid "Date" +#~ msgstr "日期" + +#~ msgid "List the available accounts" +#~ msgstr "列出可供使用的帳號" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "程式啟動時自動連接至哪個帳號" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "帳號名稱" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "你不能將 --no-connect 與 --account 一起使用" + +#~ msgid "No accounts available." +#~ msgstr "沒有可用的帳號。" + +#~ msgid "Available accounts:" +#~ msgstr "可使用的帳號:" + +#~ msgid "[default]" +#~ msgstr "[預設]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "已經有名為“%s”的帳號存在。" + +#~ msgid "Join" +#~ msgstr "加入" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "日期" + +#~ msgid "Chat Rooms" +#~ msgstr "聊天室" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "正嘗試加入聊天室,請稍等..." + +#~ msgid "Default" +#~ msgstr "預設值" + +#~ msgid "Chat!" +#~ msgstr "聊天!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s 將會被加入至你的好友名單。" + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "有人希望能加入至你的好友名單。" + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "訂閱要求" + +#~ msgid "Contact Information" +#~ msgstr "聯絡人資訊" + +#~ msgid "Subject: %s" +#~ msgstr "主旨:%s" + +#~ msgid "Suggestions for the word" +#~ msgstr "對這個字的建議" + +#~ msgid "New subscription request from %s" +#~ msgstr "來自 %s 的新訂閱要求" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "你是否想將這個人加入至你的好友名單?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "你是否想將 %s 加入你的好友名單?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "請輸入 %s 的帳號密碼" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "登入到:%s" + +#~ msgid "Remember Password?" +#~ msgstr "是否記下密碼?" + +#~ msgid "Could not display the help contents." +#~ msgstr "無法顯示說明內容。" + +#~ msgid "Select Your Avatar Image" +#~ msgstr "選擇你的大頭貼圖像。" + +#~ msgid "No Image" +#~ msgstr "沒有圖像" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "此伺服器似乎沒有回應。" + +#~ msgid "Try again later." +#~ msgstr "請稍後再試。" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "聊天" + +#~ msgid "Contact goes offline" +#~ msgstr "好友已離線" + +#~ msgid "Contact goes online" +#~ msgstr "好友已上線" + +#~ msgid "Contact ID:" +#~ msgstr "聯絡人 ID:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "你是否想接受這個檔案?" + +#~ msgid "File Transfer Request" +#~ msgstr "檔案傳輸要求" + +#~ msgid "File name:" +#~ msgstr "檔案名稱:" + +#~ msgid "File size:" +#~ msgstr "檔案大小:" + +#~ msgid "Not supported yet" +#~ msgstr "尚未支援" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "這個人希望傳送給你這個檔案:" + +#~ msgid "Web site:" +#~ msgstr "網站:" + +#~ msgid "_Accept" +#~ msgstr "接受(_A)" + +#~ msgid "_Deny" +#~ msgstr "拒絕(_D)" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>關於</b>" + +#~ msgid "Account:" +#~ msgstr "帳號:" + +#, fuzzy +#~ msgid "Browse:" +#~ msgstr "法羅文" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "編輯聊天室" + +#~ msgid "Group Chat" +#~ msgstr "群組聊天" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "加入新的(_N)..." + +#~ msgid "Join room on start_up" +#~ msgstr "啟動時加入聊天室(_U)" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "當 Gossip 啟動並連上網絡時加入這個聊天室。" + +#, fuzzy +#~ msgid "Manage Favorite Rooms" +#~ msgstr "管理聊天室" + +#~ msgid "N_ame:" +#~ msgstr "名稱(_A):" + +#~ msgid "S_erver:" +#~ msgstr "伺服器(_E):" + +#~ msgid "_Nickname:" +#~ msgstr "暱稱(_N):" + +#~ msgid "_Room:" +#~ msgstr "聊天室(_R):" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>關於</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>客戶端資訊</b>" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>關於</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>語言</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>個人資訊</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>連線</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">範例:Mikael 或 user@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "帳號:" + +#~ msgid "Add Contact" +#~ msgstr "加入聯絡人" + +#, fuzzy +#~ msgid "Alia_s:" +#~ msgstr "別名:" + +#~ msgid "Avatar:" +#~ msgstr "大頭貼:" + +#~ msgid "Ch_at" +#~ msgstr "聊天(_A)" + +#~ msgid "Client:" +#~ msgstr "客戶端:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "聯絡人" + +#~ msgid "Connect on S_tartup" +#~ msgstr "啟動時連線(_T)" + +#~ msgid "Contacts" +#~ msgstr "聯絡人" + +#~ msgid "Country:" +#~ msgstr "國家:" + +#~ msgid "Decide _Later" +#~ msgstr "稍後決定(_L)" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "加入聯絡人" + +#~ msgid "Edit Groups" +#~ msgstr "編輯群組" + +#~ msgid "Email:" +#~ msgstr "電郵:" + +#~ msgid "ID:" +#~ msgstr "ID:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "如果你選擇稍後再決定,下次登入時將被再詢問一次。" + +#~ msgid "Name:" +#~ msgstr "名稱:" + +#~ msgid "OS:" +#~ msgstr "作業系統:" + +#~ msgid "Personal Details" +#~ msgstr "個人詳細資料" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "註冊(_G)..." + +#~ msgid "Search" +#~ msgstr "搜尋" + +#~ msgid "Spell Checker" +#~ msgstr "拼字檢查" + +#~ msgid "Subscription Request" +#~ msgstr "訂閱要求" + +#~ msgid "Suggestions for the word:" +#~ msgstr "對這個字的建議:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "這會做為下面聯絡人清單的過濾器。你可以使用聯絡人的部分名稱或 ID,例如," +#~ "「jabber.org」會列出每個使用該伺服器的人" + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "這是在你的好友名單上用來顯示此聯絡人的名稱" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "這個名稱會用在聊天視窗中辨識你的身分" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "這個名稱用在有新的聯絡人查詢你的詳細資訊時可供辨識身分" + +#~ msgid "Use system pro_xy" +#~ msgstr "使用系統的代理伺服器設定(_X)" + +#~ msgid "Version:" +#~ msgstr "版本:" + +#~ msgid "View Previous Conversations" +#~ msgstr "顯示前一次交談" + +#~ msgid "Which account do you want to use?" +#~ msgstr "要使用甚麼帳號名稱?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "你沒有訂閱這個好友。" + +#~ msgid "_Connect" +#~ msgstr "連線(_C)" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "描述:" + +#~ msgid "_Disconnect" +#~ msgstr "斷線(_D)" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "電郵:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "在下面輸入你想聊天的人名或聯絡人 ID:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "連接埠(_P):" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "名稱(_N):" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "群組:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "暱稱(_N):" + +#~ msgid "_Password:" +#~ msgstr "密碼(_P):" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "新增訊息" + +#~ msgid "_Subscribe" +#~ msgstr "訂閱(_S)" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "網站:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>帳號設定</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>帳號設定</b>" + +#~ msgid "Preset status messages" +#~ msgstr "預設狀態訊息" + +#~ msgid "Preset status messages." +#~ msgstr "預設狀態訊息" + +#~ msgid "Connecting" +#~ msgstr "正在連線" + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "也許你嘗試連線到錯誤的連接埠?" + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "也許此伺服器並未執行這個服務?" + +#~ msgid "Check your connection details." +#~ msgstr "請檢查你的連線詳細資訊。" + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "也許此伺服器並未執行這個服務。" + +#~ msgid "Check your username and password are correct." +#~ msgstr "請檢查你的使用者名稱與密碼是否正確。" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s 將會被加入至你的好友名單。" + +#~ msgid "%s ID of new contact:" +#~ msgstr "新的好友的 %s ID:" + +#~ msgid "Example: %s" +#~ msgstr "範例: %s" + +#, fuzzy +#~ msgid "Show accounts and pending connections" +#~ msgstr "按這裏顯示帳號及任何進行中的連線。" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "你尚未設定即時通訊帳號!" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "接下來將會出現帳號資訊對話方塊以讓你設定詳細資訊。" + +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "" +#~ "請輸入你的邀請訊息給:\n" +#~ "%s" + +#~ msgid "Favourite" +#~ msgstr "喜好" + +#~ msgid "/Contact Infor_mation" +#~ msgstr "/聯絡人資訊(_M)" + +#~ msgid "/Re_name Contact" +#~ msgstr "/更改好友名稱(_N)" + +#~ msgid "/_Edit Groups" +#~ msgstr "/編輯群組(_E)" + +#~ msgid "/_View Previous Conversations" +#~ msgstr "/顯示前一次交談(_V)" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "請輸入以下好友的稱呼\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "編輯 %s 的群組" + +#~ msgid "Conversation Log" +#~ msgstr "對話紀錄" + +#~ msgid "Registering account" +#~ msgstr "註冊帳號" + +#~ msgid "Example" +#~ msgstr "範例" + +#~ msgid "Add to _favourites" +#~ msgstr "加入喜好(_F)" + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "自訂你的暱稱、伺服器名稱和要進入的聊天室名稱。" + +#~ msgid "Edit your chat room details:" +#~ msgstr "編輯你的群組聊天室詳細資訊:" + +#~ msgid "Na_me:" +#~ msgstr "名稱(_M):" + +#~ msgid "New Chat Room" +#~ msgstr "新增聊天室" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "從下列可用的預先設定中挑選一個已儲存的聊天室,再按加入開始聊天。" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>要求資訊,請稍候...</b>" + +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">範例:</span>" + +#~ msgid "Account Name" +#~ msgstr "帳號名稱" + +#~ msgid "Connection Details" +#~ msgstr "連線詳細資料" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "你是不是已經有伺服器的帳號了?" + +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "輸入這個帳號在此連線中所使用的連接埠" + +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "輸入這個帳號在此連線中所使用的伺服器" + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "輸入該使用者的聯絡人 ID:" + +#~ msgid "Enter your real name here" +#~ msgstr "在這裏輸入你的真實姓名" + +#~ msgid "Finished" +#~ msgstr "完成設定" + +#~ msgid "For increased security, enable this option" +#~ msgstr "為了增進安全性,請啟用這個選項" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip 是一個嶄新的 Jabber 即時通訊客戶端程式。\n" +#~ "\n" +#~ "本精靈會協助你設定 Gossip,並連接至你想使用的 Jabber 伺服器。\n" +#~ "\n" +#~ "如果準備好,請按「下一頁」。" + +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option" +#~ msgstr "" +#~ "如果在你的網絡中有其他電腦「代理」到網際網絡的連線而你想要使用它,請啟用這" +#~ "個選項" + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "如果需要設定特定的連線資訊,像是不同的伺服器或連接埠,可以在這裏設定:" + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "為了訂閱使用者的上線通知,將送出要求。直到這個要求被同意之前,該使用者在你" +#~ "的好友名單中將顯示為“離線”。" + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "你想將這個好友加入哪個群組之內?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "" +#~ "Leave this blank if you don't want your password stored on a public " +#~ "machine. If you decide to do this, you will be prompted each time you " +#~ "connect for a password" +#~ msgstr "" +#~ "如果不希望你的密碼儲存在公用的電腦上,可以保持此欄空白。如果決定要這麼做," +#~ "每一次連線的時候都會向你提問密碼" + +#~ msgid "Nickname:" +#~ msgstr "暱稱:" + +#~ msgid "Port:" +#~ msgstr "埠號:" + +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "請訂閱以接收他們的狀態" + +#~ msgid "Registering Account" +#~ msgstr "註冊帳號" + +#~ msgid "Resource:" +#~ msgstr "資源:" + +#~ msgid "Sending request" +#~ msgstr "正在傳送要求" + +#~ msgid "Server:" +#~ msgstr "伺服器:" + +#~ msgid "Web Site:" +#~ msgstr "網站:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "歡迎使用 Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "該好友使用哪種即時通訊系統?" + +#~ msgid "What is your name?" +#~ msgstr "怎樣稱呼你?" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "要使用何種名稱來識別這個帳號?\n" +#~ "\n" +#~ "這個名稱可以是跟其服務的提供者有關的事物,例如,<b>Google</b>。" + +#~ msgid "What password do you want to use?" +#~ msgstr "要使用什麼密碼?" + +#~ msgid "What username do you use?" +#~ msgstr "你使用甚麼名稱?" + +#~ msgid "What username do you want to use?" +#~ msgstr "你想使用甚麼用戶名稱?" + +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "你想將這個好友加入哪個帳號之內?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "稍後你可以在選單中選取「編輯→帳號」來更改帳號設定。" + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "你需要設定該連線的名稱,例如,<b>家裏</b> 或 <b>筆電</b>。" + +#~ msgid "Your Account" +#~ msgstr "你的帳號" + +#~ msgid "Your Identity" +#~ msgstr "你的身分" + +#~ msgid "Your new account has now been set up." +#~ msgstr "現在已設定好你的新帳號。" + +#~ msgid "_Forget" +#~ msgstr "忘記密碼(_F)" + +#~ msgid "_Group Chat" +#~ msgstr "群組聊天(_G)" + +#~ msgid "_No" +#~ msgstr "否(_N)" + +#~ msgid "_Search..." +#~ msgstr "搜尋(_S)..." + +#~ msgid "_Yes" +#~ msgstr "是(_Y)" + +#~ msgid "Respond" +#~ msgstr "回應" + +#~ msgid "Dark" +#~ msgstr "暗" + +#~ msgid "Contact Information for %s" +#~ msgstr "有關 %s 的資訊" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "聊天室:" + +#~ msgid "Be silent when away" +#~ msgstr "「離開」時不發出音效" + +#~ msgid "Be silent when busy" +#~ msgstr "「忙碌」時不發出音效" + +#~ msgid "Height of main window" +#~ msgstr "主視窗高度" + +#~ msgid "The X position of the main window." +#~ msgstr "啟動時主視窗的水平位置。" + +#~ msgid "The Y position of the main window." +#~ msgstr "啟動時主視窗的垂直位置。" + +#~ msgid "The width of the main window." +#~ msgstr "主視窗寬度" + +#~ msgid "Whether spell checking should be turned on." +#~ msgstr "是否開啟拼字檢查。" + +#~ msgid "Width of the main window" +#~ msgstr "主視窗寬度" + +#~ msgid "X position of main window" +#~ msgstr "主視窗水平位置" + +#~ msgid "Y position of main window" +#~ msgstr "主視窗垂直位置" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip 即時通訊軟體" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "邀請至聊天室(_I)" + +#~ msgid "Requested Information" +#~ msgstr "要求的資訊" + +#~ msgid "/_Invite to Chat Conference" +#~ msgstr "/邀請至聊天會議(_I)" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "新增訊息(_N)..." + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s 已離線" + +#~ msgid "Available..." +#~ msgstr "有空..." + +#~ msgid "Busy..." +#~ msgstr "忙碌..." + +#~ msgid "Away..." +#~ msgstr "離開..." + +#~ msgid "Contact _Information" +#~ msgstr "連絡資訊(_I)" + +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>聲音</b>" + +#~ msgid "Check spelling while I _type" +#~ msgstr "當我輸入時檢查拼字(_T)" + +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - 帳號" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "加入群組聊天(_J)..." + +#~ msgid "Por_t:" +#~ msgstr "連接埠(_T):" + +#~ msgid "Requested information." +#~ msgstr "要求的資訊。" + +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "正要求好友資訊,請稍候..." + +#~ msgid "Could not open connection" +#~ msgstr "無法開啟連線" + +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "找不到您想要使用的伺服器" + +#~ msgid "Connection to the server failed." +#~ msgstr "連線至伺服器時失敗。" + +#~ msgid "Authentication failed" +#~ msgstr "驗證失敗" + +#~ msgid "Written by:" +#~ msgstr "作者:" + +#~ msgid "Artwork by:" +#~ msgstr "美工:" + +#~ msgid "Translated by:" +#~ msgstr "翻譯:" + +#~ msgid "Account ID" +#~ msgstr "帳號 ID" + +#~ msgid "Last Error" +#~ msgstr "上次錯誤" + +#~ msgid "%sChat - %s" +#~ msgstr "%s聊天 - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/顯示對話紀錄(_L)" + +#~ msgid "Afrikaans" +#~ msgstr "南非荷蘭語" + +#~ msgid "Amharic" +#~ msgstr "阿姆哈拉語" + +#~ msgid "Arabic" +#~ msgstr "阿拉伯語" + +#~ msgid "Azerbaijani" +#~ msgstr "亞塞拜然語" + +#~ msgid "Belarusian" +#~ msgstr "白俄羅斯語" + +#~ msgid "Bulgarian" +#~ msgstr "保加利亞語" + +#~ msgid "Bengali" +#~ msgstr "孟加拉語" + +#~ msgid "Breton" +#~ msgstr "不列塔尼語" + +#~ msgid "Bosnian" +#~ msgstr "波士尼亞語" + +#~ msgid "Catalan" +#~ msgstr "加泰隆語" + +#~ msgid "Czech" +#~ msgstr "捷克語" + +#~ msgid "Welsh" +#~ msgstr "威爾士語" + +#~ msgid "Danish" +#~ msgstr "丹麥語" + +#~ msgid "German" +#~ msgstr "德文" + +#~ msgid "German (Austria)" +#~ msgstr "德文(奧地利)" + +#~ msgid "German (Germany)" +#~ msgstr "德文(德意志)" + +#~ msgid "German (Swiss)" +#~ msgstr "德文(瑞士)" + +#~ msgid "Greek" +#~ msgstr "希臘語" + +#~ msgid "English" +#~ msgstr "英文" + +#~ msgid "English (Canadian)" +#~ msgstr "英文(加拿大)" + +#~ msgid "English (British)" +#~ msgstr "英語(英式)" + +#~ msgid "English (American)" +#~ msgstr "英語(美式)" + +#~ msgid "Esperanto" +#~ msgstr "世界語" + +#~ msgid "Spanish" +#~ msgstr "西班牙文" + +#~ msgid "Estonian" +#~ msgstr "愛沙尼亞語" + +#~ msgid "Persian" +#~ msgstr "波斯語" + +#~ msgid "Finnish" +#~ msgstr "芬蘭語" + +#~ msgid "French" +#~ msgstr "法文" + +#~ msgid "French (France)" +#~ msgstr "法文(法蘭西)" + +#~ msgid "French (Swiss)" +#~ msgstr "法文(瑞士)" + +#~ msgid "Irish Gaelic" +#~ msgstr "愛爾蘭蓋爾文" + +#~ msgid "Scots Gaelic" +#~ msgstr "蘇格蘭蓋爾文" + +#~ msgid "Gujarati" +#~ msgstr "印度語" + +#~ msgid "Manx Gaelic" +#~ msgstr "人島蓋爾文" + +#~ msgid "Hebrew" +#~ msgstr "希伯來語" + +#~ msgid "Hindi" +#~ msgstr "印度語(北印度)" + +#~ msgid "Croatian" +#~ msgstr "克羅地亞語" + +#~ msgid "Hungarian" +#~ msgstr "匈牙利語" + +#~ msgid "Indonesian" +#~ msgstr "印尼語" + +#~ msgid "Icelandic" +#~ msgstr "冰島語" + +#~ msgid "Italian" +#~ msgstr "意大利文" + +#~ msgid "Japanese" +#~ msgstr "日語" + +#~ msgid "Georgian" +#~ msgstr "喬治亞語" + +#~ msgid "Kannada" +#~ msgstr "坎納達語" + +#~ msgid "Korean" +#~ msgstr "韓文" + +#~ msgid "Kurdish" +#~ msgstr "庫德語" + +#~ msgid "Cornish" +#~ msgstr "康沃爾語" + +#~ msgid "Limburgish" +#~ msgstr "林堡語" + +#~ msgid "Lithuanian" +#~ msgstr "立陶宛文" + +#~ msgid "Latvian" +#~ msgstr "拉脫維亞語" + +#~ msgid "Maori" +#~ msgstr "毛利語" + +#~ msgid "Macedonian" +#~ msgstr "馬其頓語" + +#~ msgid "Malayalam" +#~ msgstr "馬拉雅拉姆語" + +#~ msgid "Mongolian" +#~ msgstr "蒙古語" + +#~ msgid "Marathi" +#~ msgstr "馬拉塔語" + +#~ msgid "Malay" +#~ msgstr "馬來語" + +#~ msgid "Norwegian (Bokmal)" +#~ msgstr "挪威語(Bokmaal)" + +#~ msgid "Nepali" +#~ msgstr "尼泊爾語" + +#~ msgid "Dutch" +#~ msgstr "荷蘭語" + +#~ msgid "Norwegian" +#~ msgstr "挪威語" + +#~ msgid "Norwegian (Nynorsk)" +#~ msgstr "挪威語(Nynorsk)" + +#~ msgid "Norwegian (Nyorsk)" +#~ msgstr "挪威語(Bokmaal)" + +#~ msgid "Oriya" +#~ msgstr "奧里雅語" + +#~ msgid "Punjabi" +#~ msgstr "旁加語" + +#~ msgid "Polish" +#~ msgstr "波蘭語" + +#~ msgid "Portuguese" +#~ msgstr "葡萄牙文" + +#~ msgid "Portuguese (Portugal)" +#~ msgstr "葡萄牙文(葡萄牙)" + +#~ msgid "Portuguese (Brazil)" +#~ msgstr "葡萄牙文(巴西)" + +#~ msgid "Romanian" +#~ msgstr "羅馬尼亞語" + +#~ msgid "Russian" +#~ msgstr "俄文" + +#~ msgid "Kinyarwanda" +#~ msgstr "盧安達語" + +#~ msgid "Slovak" +#~ msgstr "斯洛伐克語" + +#~ msgid "Slovenian" +#~ msgstr "斯洛文尼亞語" + +#~ msgid "Albanian" +#~ msgstr "阿爾巴尼亞語" + +#~ msgid "Serbian" +#~ msgstr "塞爾維亞語" + +#~ msgid "Swedish" +#~ msgstr "瑞典語" + +#~ msgid "Tamil" +#~ msgstr "泰米爾語" + +#~ msgid "Telugu" +#~ msgstr "泰盧固語" + +#~ msgid "Thai" +#~ msgstr "泰文" + +#~ msgid "Turkmen" +#~ msgstr "土庫曼語" + +#~ msgid "Turkish" +#~ msgstr "土耳其語" + +#~ msgid "Ukrainian" +#~ msgstr "烏克蘭語" + +#~ msgid "Vietnamese" +#~ msgstr "越南文" + +#~ msgid "Wallon" +#~ msgstr "瓦隆語" + +#~ msgid "Xhosa" +#~ msgstr "科薩語" + +#~ msgid "Yiddish" +#~ msgstr "意第緒語" + +#~ msgid "Chinese Simplified" +#~ msgstr "簡體中文" + +#~ msgid "Chinese Traditional" +#~ msgstr "繁體中文" + +#~ msgid "View Lo_g" +#~ msgstr "觀看對話紀錄(_G)" + +#, fuzzy +#~ msgid "Gossip - Chat Rooms" +#~ msgstr "Gossip - 編輯聊天室" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - 群組聊天" + +#, fuzzy +#~ msgid "Gossip - New Chatroom" +#~ msgstr "Gossip - 編輯聊天室" + +#~ msgid "Gossip - Add contact" +#~ msgstr "Gossip - 加入好友" + +#~ msgid "Gossip - Contact Information" +#~ msgstr "Gossip - 好友資訊" + +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - 編輯群組" + +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - 新增帳號" + +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - 新訊息" + +#~ msgid "Gossip - Personal Details" +#~ msgstr "Gossip - 個人資訊" + +#~ msgid "Gossip - Preferences" +#~ msgstr "Gossip - 偏好設定" + +#~ msgid "Gossip - Spell Checker" +#~ msgstr "Gossip - 拼字檢查" + +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - 狀態訊息" + +#~ msgid "Waiting for server to respond, please wait..." +#~ msgstr "等候伺服器的回應,請稍候..." + +#~ msgid "Connection could not be created" +#~ msgstr "無法建立連線" + +#~ msgid "Redirect" +#~ msgstr "重新導向" + +#~ msgid "Bad Request" +#~ msgstr "錯誤的要求" + +#~ msgid "Not Authorized" +#~ msgstr "未授權" + +#~ msgid "Payment Required" +#~ msgstr "需付款" + +#~ msgid "Forbidden" +#~ msgstr "被禁止" + +#~ msgid "Not Found" +#~ msgstr "找不到" + +#~ msgid "Not Allowed" +#~ msgstr "不允許" + +#~ msgid "Not Acceptable" +#~ msgstr "不能接受" + +#~ msgid "Request Timeout" +#~ msgstr "要求已逾時" + +#~ msgid "Conflict" +#~ msgstr "衝突" + +#~ msgid "Not Implemented" +#~ msgstr "未實作" + +#~ msgid "Remote Server Error" +#~ msgstr "遠端伺服器錯誤" + +#~ msgid "Service Unavailable" +#~ msgstr "服務無法使用" + +#~ msgid "Unknown error." +#~ msgstr "不明的錯誤。" + +#~ msgid "Custom" +#~ msgstr "自訂" + +#~ msgid "The chat room you are trying is not responding." +#~ msgstr "您所嘗試的聊天室沒有回應。" + +#~ msgid "Check your details and try again." +#~ msgstr "請檢查您的詳細資訊並再試一次。" + +#~ msgid "This is currently unsupported." +#~ msgstr "此項目前不支援。" + +#~ msgid "Perhaps the conference server is busy, try again later." +#~ msgstr "也許此會議伺服器正在忙碌,請稍後再試。" + +#~ msgid "Check the server host name is correct and is available." +#~ msgstr "請檢查伺服器主機名稱是否正確可用。" + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip 現在會嘗試使用這個帳號:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "現在 Gossip 會嘗試註冊帳號:" + +#~ msgid "Cus_tomize" +#~ msgstr "自訂(_T)" + +#~ msgid "Edit or Delete this favorite." +#~ msgstr "編輯或刪除這個喜好。" + +#~ msgid "Gossip - Join Chat Room " +#~ msgstr "Gossip - 加入聊天室" + +#~ msgid "Choose a Server" +#~ msgstr "選取伺服器" + +#~ msgid "On what server do you have an account?" +#~ msgstr "您在哪個伺服器有帳號?" + +#~ msgid "Configure Transports" +#~ msgstr "設定轉送程式" + +#~ msgid "_Jabber ID of new contact:" +#~ msgstr "新的好友的 _Jabber ID:" + +#~ msgid "Edit List..." +#~ msgstr "編輯清單..." + +#~ msgid "Automatically Connect" +#~ msgstr "自動連線" + +#~ msgid "Connect _Server:" +#~ msgstr "連接伺服器(_S):" + +#~ msgid "Gossip - Account Information" +#~ msgstr "Gossip - 帳號資訊" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#~ msgid "Gossip - Edit Favorite" +#~ msgstr "Gossip - 編輯喜好" + +#~ msgid "Gossip - Edit Group Chat Favorites" +#~ msgstr "Gossip - 編輯群組聊天喜好" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "" +#~ "<b>Configuring your new service...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>正在設定您的新服務...</b>\n" +#~ "這需要一點時間,請稍等。" + +#~ msgid "<b>Preferred Service</b>" +#~ msgstr "<b>偏好的服務</b>" + +#~ msgid "<b>Recommended Services</b>" +#~ msgstr "<b>建議的服務</b>" + +#~ msgid "" +#~ "<b>Requested service requirements...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>正在尋找服務的要件...</b>\n" +#~ "這需要一點時間,請稍等。" + +#~ msgid "Add Account" +#~ msgstr "新增帳號" + +#~ msgid "Add Another Account" +#~ msgstr "新增其他帳號" + +#~ msgid "Choose from list:" +#~ msgstr "從名單中選取:" + +#~ msgid "Configure Transport" +#~ msgstr "設定轉送程式" + +#~ msgid "Configuring Service" +#~ msgstr "正在設定服務" + +#~ msgid "Gossip - Status Presets" +#~ msgstr "Gossip - 狀態預先設定" + +#~ msgid "Gossip - Welcome" +#~ msgstr "Gossip - 歡迎" + +#~ msgid "If you prefer, you can specify your own service:" +#~ msgstr "如果您喜歡,可以指定您自己的服務:" + +#~ msgid "Jabber Account" +#~ msgstr "Jabber 帳號" + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "Nick name:" +#~ msgstr "暱稱:" + +#~ msgid "Please complete the details below to set up your account: " +#~ msgstr "請在以下的欄位填上詳細的資料,以設定您的帳號: " + +#~ msgid "Populating services..." +#~ msgstr "計算服務的使用率..." + +#~ msgid "Remove Account" +#~ msgstr "移除帳號" + +#~ msgid "Service Details" +#~ msgstr "服務詳細資料" + +#~ msgid "Service:" +#~ msgstr "服務:" + +#~ msgid "" +#~ "This wizard will allow you to configure your account settings for another " +#~ "protocol. " +#~ msgstr "這個精靈會讓您設定其他協定的帳號設定值。" + +#~ msgid "Transport Accounts" +#~ msgstr "轉送程式帳號" + +#~ msgid "Use a different server" +#~ msgstr "使用另一個伺服器" + +#~ msgid "Which protocol would you like to set up? " +#~ msgstr "您想要設定哪個協定?" + +#~ msgid "" +#~ "You can set the status presets which appear in the presence menu on the " +#~ "main window here." +#~ msgstr "您可以在此設定顯示在主視窗上線選單中的狀態預先設定。" + +#~ msgid "You currently have the following accounts set up:" +#~ msgstr "您目前已設定下列帳號:" + +#~ msgid "_Account Information" +#~ msgstr "帳號資訊(_A)" diff --git a/trunk/po/zh_TW.po b/trunk/po/zh_TW.po new file mode 100644 index 000000000..d69a174df --- /dev/null +++ b/trunk/po/zh_TW.po @@ -0,0 +1,2561 @@ +# traditional Chinese translation of gossip. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# Abel Cheung <abel@oaka.org>, 2003, 2004. +# Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: gossip 0.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-15 23:46+0200\n" +"PO-Revision-Date: 2006-07-05 07:38+0800\n" +"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n" +"Language-Team: Chinese (traditional) <community@linuxhall.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../data/empathy.desktop.in.h:1 +#, fuzzy +msgid "Empathy Instant Messenger" +msgstr "即時通訊程式" + +#: ../data/empathy.desktop.in.h:2 +msgid "Instant Messenger" +msgstr "即時通訊程式" + +#: ../data/empathy.schemas.in.h:1 +msgid "Always open a separate chat window for new chats." +msgstr "永遠為新的聊天開啟個別的聊天視窗。" + +#: ../data/empathy.schemas.in.h:2 +msgid "Chat window theme" +msgstr "聊天視窗佈景主題" + +#: ../data/empathy.schemas.in.h:3 +msgid "" +"Comma separated list of spell checker languages to use (e.g. en, fr, nl)." +msgstr "以逗號分隔的拼字檢查程式語言清單(例. en, fr, nl)。" + +#: ../data/empathy.schemas.in.h:4 +#, fuzzy +msgid "Compact contact list" +msgstr "顯示好友名單(_S)" + +#: ../data/empathy.schemas.in.h:5 +msgid "Contact list sort criterium" +msgstr "" + +#: ../data/empathy.schemas.in.h:6 +msgid "Default directory to select an avatar image from" +msgstr "預設用以選擇大頭貼影像的目錄" + +#: ../data/empathy.schemas.in.h:7 +msgid "Enable popup when contact is available" +msgstr "當連絡人上線時使用彈出式選單" + +#: ../data/empathy.schemas.in.h:8 +msgid "Enable sound when away" +msgstr "當「離開」時啟用音效" + +#: ../data/empathy.schemas.in.h:9 +msgid "Enable sound when busy" +msgstr "當「忙碌」時啟用音效" + +#: ../data/empathy.schemas.in.h:10 +#, fuzzy +msgid "Enable spell checker" +msgstr "啟用拼字檢查" + +#: ../data/empathy.schemas.in.h:11 +msgid "Hide main window" +msgstr "隱藏主視窗" + +#: ../data/empathy.schemas.in.h:12 +msgid "Hide the main window." +msgstr "隱藏主視窗。" + +#: ../data/empathy.schemas.in.h:13 +msgid "Open new chats in separate windows" +msgstr "在個別視窗中開啟新聊天" + +#: ../data/empathy.schemas.in.h:14 +msgid "Show avatars" +msgstr "顯示大頭貼" + +#: ../data/empathy.schemas.in.h:15 +#, fuzzy +msgid "Show hint about closing the main window" +msgstr "主視窗高度" + +#: ../data/empathy.schemas.in.h:16 +msgid "Show offline contacts" +msgstr "顯示已離線的好友" + +#: ../data/empathy.schemas.in.h:17 +msgid "Spell checking languages" +msgstr "拼字檢查程式語言" + +#: ../data/empathy.schemas.in.h:18 +msgid "The last directory that an avatar image was chosen from." +msgstr "用來選擇大頭貼影像的最後目錄。" + +#: ../data/empathy.schemas.in.h:19 +msgid "The theme that is used to display the conversation in chat windows." +msgstr "這個佈景主題會用在聊天視窗中顯示交談。" + +#: ../data/empathy.schemas.in.h:20 +msgid "Use graphical smileys" +msgstr "使用表情圖示" + +#: ../data/empathy.schemas.in.h:21 +msgid "Use notification sounds" +msgstr "使用音效來通知收到訊息" + +#: ../data/empathy.schemas.in.h:22 +#, fuzzy +msgid "Use theme for chat rooms" +msgstr "加入該聊天室" + +#: ../data/empathy.schemas.in.h:23 +msgid "" +"Whether or not to check words typed against the languages you want to check " +"with." +msgstr "" + +#: ../data/empathy.schemas.in.h:24 +msgid "" +"Whether or not to convert smileys into graphical images in conversations." +msgstr "在對話時,是否將代表表情圖示的字符轉換為真正的圖示。" + +#: ../data/empathy.schemas.in.h:25 +msgid "Whether or not to play a sound when messages arrive." +msgstr "將收到訊息時,是否播放音效。" + +#: ../data/empathy.schemas.in.h:26 +msgid "Whether or not to play sounds when away." +msgstr "當離開時是否播放音效。" + +#: ../data/empathy.schemas.in.h:27 +msgid "Whether or not to play sounds when busy." +msgstr "當忙碌時是否播放音效。" + +#: ../data/empathy.schemas.in.h:28 +msgid "Whether or not to show a popup when a contact becomes available." +msgstr "當連絡人上線時,是否顯示彈出式視窗。" + +#: ../data/empathy.schemas.in.h:29 +msgid "" +"Whether or not to show avatars for contacts in the contact list and chat " +"windows." +msgstr "是否在連絡人清單與聊天視窗中顯示大頭貼。" + +#: ../data/empathy.schemas.in.h:30 +msgid "Whether or not to show contacts that are offline in the contact list." +msgstr "是否顯示清單中離線的好友。" + +#: ../data/empathy.schemas.in.h:31 +msgid "" +"Whether or not to show the message dialog about closing the main window with " +"the 'x' button in the title bar." +msgstr "" + +#: ../data/empathy.schemas.in.h:32 +#, fuzzy +msgid "Whether to show the contact list in compact mode or not." +msgstr "是否在連絡人清單與聊天視窗中顯示大頭貼。" + +#: ../data/empathy.schemas.in.h:33 +msgid "Whether to use the theme for chat rooms or not." +msgstr "" + +#: ../data/empathy.schemas.in.h:34 +msgid "" +"Which criterium to use when sorting the contact list. Default is to use sort " +"by the contact's name with the value \"name\". A value of \"state\" will " +"sort the contact list by state." +msgstr "" + +#: ../libempathy/gossip-contact.c:654 ../libempathy/gossip-presence.c:184 +#: ../libempathy/gossip-presence.c:283 +msgid "Offline" +msgstr "離線" + +#: ../libempathy/gossip-presence.c:274 +msgid "Available" +msgstr "已連線" + +#: ../libempathy/gossip-presence.c:276 +msgid "Busy" +msgstr "忙碌" + +#: ../libempathy/gossip-presence.c:279 +msgid "Away" +msgstr "離開" + +#: ../libempathy-gtk/empathy-main-window.c:254 +#, fuzzy +msgid "Show and edit accounts" +msgstr "顯示好友名單(_S)" + +#: ../libempathy-gtk/empathy-main-window.c:456 +msgid "Group" +msgstr "群組" + +#: ../libempathy-gtk/empathy-main-window.c:477 +#, fuzzy +msgid "Contact" +msgstr "連絡人" + +#: ../libempathy-gtk/empathy-main-window.glade.h:1 +#, fuzzy +msgid "Contact List - Empathy" +msgstr "隱藏好友名單(_H)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:2 +#, fuzzy +msgid "Context" +msgstr "內容(_C)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:3 +#, fuzzy +msgid "Join _Favorites" +msgstr "加入喜好(_F)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:4 +#: ../libempathy-gtk/gossip-chat.glade.h:10 +msgid "Join _New..." +msgstr "加入新的(_N)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:5 +#, fuzzy +msgid "Manage Favorites..." +msgstr "加入喜好(_F)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:6 +msgid "Show _Offline Contacts" +msgstr "顯示已離線的好友(_O)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:7 +#, fuzzy +msgid "_About" +msgstr "帳號(_A)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:8 +msgid "_Accounts" +msgstr "帳號(_A)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:9 +#: ../libempathy-gtk/gossip-chat.glade.h:15 +msgid "_Add Contact..." +msgstr "加入好友(_A)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:10 +#: ../libempathy-gtk/gossip-contact-list.c:298 +msgid "_Chat" +msgstr "聊天(_C)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:11 +msgid "_Contents" +msgstr "內容(_C)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:12 +#: ../libempathy-gtk/gossip-chat.glade.h:21 +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "_Edit" +msgstr "編輯" + +#: ../libempathy-gtk/empathy-main-window.glade.h:13 +msgid "_Help" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:14 +#: ../libempathy-gtk/empathy-status-icon.glade.h:2 +msgid "_New Message..." +msgstr "新增訊息(_N)..." + +#: ../libempathy-gtk/empathy-main-window.glade.h:15 +msgid "_Personal Information" +msgstr "個人資訊(_P)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:16 +msgid "_Preferences" +msgstr "偏好設定(_P)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:17 +#: ../libempathy-gtk/empathy-status-icon.glade.h:3 +msgid "_Quit" +msgstr "" + +#: ../libempathy-gtk/empathy-main-window.glade.h:18 +#: ../libempathy-gtk/gossip-chat.glade.h:25 +msgid "_Room" +msgstr "聊天室(_R)" + +#: ../libempathy-gtk/empathy-main-window.glade.h:19 +#: ../libempathy-gtk/gossip-chat.glade.h:28 +#: ../libempathy-gtk/gossip-contact-list.c:326 +msgid "_View Previous Conversations" +msgstr "顯示前一次交談(_V)" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:1 +msgid "Status" +msgstr "狀態" + +#: ../libempathy-gtk/empathy-status-icon.glade.h:4 +msgid "_Show Contact List" +msgstr "顯示好友名單(_S)" + +#: ../libempathy-gtk/gossip-about-dialog.c:63 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"Gossip 是自由軟體;您可以遵照自由軟體基金會 (Free Software Foundation) 出版" +"的 GNU 通用公共許可證條款 (GNU General Public License) 第二版來修改和重新發佈" +"這一程式,或者自由選擇使用任何更新的版本。" + +#: ../libempathy-gtk/gossip-about-dialog.c:67 +#, fuzzy +msgid "" +"Empathy 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." +msgstr "" +"發佈 Gossip 的目的是希望它有用,但沒有任何擔保。甚至沒有適合特定目的而隱含的" +"擔保。更詳細的情況請參閱 GNU 通用公共許可證。" + +#: ../libempathy-gtk/gossip-about-dialog.c:71 +#, fuzzy +msgid "" +"You should have received a copy of the GNU General Public License along with " +"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-130159 USA" +msgstr "" +"您應該已經和 Gossip 一起收到一份 GNU 通用公共許可證的副本;如果還沒有,寫信" +"給: Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA " +"02111-1307 USA" + +#: ../libempathy-gtk/gossip-about-dialog.c:99 +msgid "An Instant Messaging client for GNOME" +msgstr "GNOME 的即時通訊軟體" + +# Abel's note: The dialog is really not wide enough to show email with name. +# +#: ../libempathy-gtk/gossip-about-dialog.c:105 +msgid "translator-credits" +msgstr "" +"如對翻譯有任何意見,請送一封電子郵件給\n" +"以下地址,GNOME 翻譯團隊會盡快回覆您:\n" +"community@linuxhall.org\n" +"\n" +"Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>, 2003, 05\n" +"Craig Jeffares <cjeffares@novell.com>, 2004\n" +"Joe Man <trmetal@yahoo.com.hk>, 2001" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:224 +#, fuzzy +msgid "Disable" +msgstr "已連線" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:227 +msgid "Enable" +msgstr "啟用" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:261 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:3 +#, fuzzy +msgid "<b>No Account Selected</b>" +msgstr "<b>帳號設定</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:263 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:272 +#, fuzzy +msgid "<b>No Accounts Configured</b>" +msgstr "<b>帳號設定</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:274 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to start configuring." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:362 +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:6 +msgid "Accounts" +msgstr "帳號" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:857 +#, c-format +msgid "" +"You are about to remove your %s account!\n" +"Are you sure you want to proceed?" +msgstr "" +"即將移除您的 %s 帳號!\n" +"確定要繼續嗎?" + +#: ../libempathy-gtk/gossip-accounts-dialog.c:863 +msgid "" +"Any associated conversations and chat rooms will NOT be removed if you " +"decide to proceed.\n" +"\n" +"Should you decide to add the account back at a later time, they will still " +"be available." +msgstr "" +"如果您決定繼續,任何相關的交談及聊天室將 不會 被移除。\n" +"\n" +"若您稍後決定將該帳號加回來,它們仍然可以使用。" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:1 +msgid "<b>Account</b>" +msgstr "<b>帳戶</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:2 +#, fuzzy +msgid "<b>New Account</b>" +msgstr "<b>帳戶</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:4 +#, fuzzy +msgid "<b>Settings</b>" +msgstr "<b>帳號設定</b>" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:5 +msgid "A unique name for this account to identify it personally to you." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:7 +#, fuzzy +msgid "Cr_eate" +msgstr "聊天!" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:8 +msgid "Imendio " +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:9 +msgid "Jabber" +msgstr "Jabber" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:10 +msgid "" +"To add a new account, you can click on the 'Add' button and a new entry will " +"be created for you to started configuring.\n" +"\n" +"If you do not want to add an account, simply click on the account you want " +"to configure in the list on the left." +msgstr "" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:13 +msgid "_Name:" +msgstr "名稱(_N):" + +#: ../libempathy-gtk/gossip-accounts-dialog.glade.h:14 +#, fuzzy +msgid "_Type:" +msgstr "題目(_T):" + +#: ../libempathy-gtk/gossip-account-widget-generic.c:144 +#: ../libempathy-gtk/gossip-account-widget-generic.c:186 +#, c-format +msgid "%s:" +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:1 +#, fuzzy +msgid "" +"<small><b><span foreground=\"#555\">Example: user@jabber.org</span></b></" +"small>" +msgstr "<span size=\"smaller\">範例:user@jabber.org</span>" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:2 +msgid "Forget password and clear the entry." +msgstr "" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:3 +msgid "Login I_D:" +msgstr "登入 I_D:" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:4 +msgid "Pass_word:" +msgstr "密碼(_W):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:5 +msgid "Reso_urce:" +msgstr "資源(_U):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:6 +#, fuzzy +msgid "Use encryption (SS_L)" +msgstr "將訊息加密(_SSL)" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:7 +msgid "_Port:" +msgstr "連接埠(_P):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:8 +msgid "_Server:" +msgstr "伺服器(_S):" + +#: ../libempathy-gtk/gossip-account-widget-jabber.glade.h:9 +#, fuzzy +msgid "jabber account settings" +msgstr "<b>帳號設定</b>" + +#: ../libempathy-gtk/gossip-chat.c:314 +msgid "Disconnected" +msgstr "已斷線" + +#: ../libempathy-gtk/gossip-chat.c:858 +msgid "Insert Smiley" +msgstr "插入笑臉影像" + +#: ../libempathy-gtk/gossip-chat.c:906 +msgid "_Check Word Spelling..." +msgstr "檢查拼字(_C)..." + +#: ../libempathy-gtk/gossip-chat.c:1244 +msgid "Connected" +msgstr "已連線" + +#: ../libempathy-gtk/gossip-chat.glade.h:1 +#, fuzzy +msgid "C_lear" +msgstr "清除(_L)" + +#: ../libempathy-gtk/gossip-chat.glade.h:2 +msgid "Change _Topic..." +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:3 +msgid "Chat" +msgstr "聊天" + +#: ../libempathy-gtk/gossip-chat.glade.h:4 +msgid "Contact Infor_mation" +msgstr "連絡人資訊(_M)" + +#: ../libempathy-gtk/gossip-chat.glade.h:5 +#, fuzzy +msgid "Cu_t" +msgstr "聊天(_A)" + +#: ../libempathy-gtk/gossip-chat.glade.h:6 +#, fuzzy +msgid "In_vite..." +msgstr "邀請(_V)" + +#: ../libempathy-gtk/gossip-chat.glade.h:7 +msgid "Insert _Smiley" +msgstr "插入笑臉影像(_S)" + +#: ../libempathy-gtk/gossip-chat.glade.h:8 +#, fuzzy +msgid "Invitation _message:" +msgstr "輸入狀態訊息:" + +#: ../libempathy-gtk/gossip-chat.glade.h:9 +#, fuzzy +msgid "Invite" +msgstr "邀請(_V)" + +#: ../libempathy-gtk/gossip-chat.glade.h:11 +msgid "Move Tab _Left" +msgstr "將分頁左移(_L)" + +#: ../libempathy-gtk/gossip-chat.glade.h:12 +msgid "Move Tab _Right" +msgstr "將分頁右移(_R)" + +#: ../libempathy-gtk/gossip-chat.glade.h:13 +msgid "Select who would you like to invite:" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:14 +msgid "You have been invited to join a chat conference." +msgstr "您已經被邀請參加聊天會議。" + +#: ../libempathy-gtk/gossip-chat.glade.h:16 +msgid "_Add To Favorites" +msgstr "加入喜好(_A)" + +#: ../libempathy-gtk/gossip-chat.glade.h:17 +msgid "_Close" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:18 +msgid "_Conversation" +msgstr "對話(_C)" + +#: ../libempathy-gtk/gossip-chat.glade.h:19 +msgid "_Copy" +msgstr "" + +#: ../libempathy-gtk/gossip-chat.glade.h:20 +msgid "_Detach Tab" +msgstr "脫離分頁(_D)" + +#: ../libempathy-gtk/gossip-chat.glade.h:22 +msgid "_Next Tab" +msgstr "下個分頁(_N)" + +#: ../libempathy-gtk/gossip-chat.glade.h:23 +#, fuzzy +msgid "_Paste" +msgstr "日期" + +#: ../libempathy-gtk/gossip-chat.glade.h:24 +msgid "_Previous Tab" +msgstr "上個分頁(_P)" + +#: ../libempathy-gtk/gossip-chat.glade.h:26 +msgid "_Show Contacts" +msgstr "顯示好友名單(_S)" + +#: ../libempathy-gtk/gossip-chat.glade.h:27 +msgid "_Tabs" +msgstr "分頁(_T)" + +#: ../libempathy-gtk/gossip-chat-view.c:544 +msgid "_Copy Link Address" +msgstr "複製鏈結地址(_C)" + +#: ../libempathy-gtk/gossip-chat-view.c:552 +msgid "_Open Link" +msgstr "開啟連結(_O)" + +#: ../libempathy-gtk/gossip-chat-view.c:889 +msgid "%A %d %B %Y" +msgstr "%Y-%m-%d (%A)" + +#: ../libempathy-gtk/gossip-chat-window.c:685 +#: ../libempathy-gtk/gossip-chat-window.c:715 +#, fuzzy +msgid "New Message" +msgid_plural "New Messages" +msgstr[0] "新增訊息" +msgstr[1] "新增訊息" + +#: ../libempathy-gtk/gossip-chat-window.c:691 +msgid "Chat Room" +msgstr "聊天室" + +#: ../libempathy-gtk/gossip-chat-window.c:696 +#: ../libempathy-gtk/gossip-chat-window.c:719 +#, fuzzy, c-format +msgid "Conversation" +msgid_plural "Conversations (%d)" +msgstr[0] "對話(_C)" +msgstr[1] "對話(_C)" + +#: ../libempathy-gtk/gossip-chat-window.c:1295 +msgid "Typing a message." +msgstr "正在鍵入訊息。" + +#: ../libempathy-gtk/gossip-contact-list.c:290 +#, fuzzy +msgid "_Contact" +msgstr "連絡人" + +#: ../libempathy-gtk/gossip-contact-list.c:294 +#, fuzzy +msgid "_Group" +msgstr "群組" + +#: ../libempathy-gtk/gossip-contact-list.c:298 +#, fuzzy +msgid "Chat with contact" +msgstr "加入好友" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "Infor_mation" +msgstr "連絡人資訊(_M)" + +#: ../libempathy-gtk/gossip-contact-list.c:302 +#, fuzzy +msgid "View contact information" +msgstr "好友資訊" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Re_name" +msgstr "/更改群組名稱(_N)" + +#: ../libempathy-gtk/gossip-contact-list.c:306 +#, fuzzy +msgid "Rename" +msgstr "檔案名稱:" + +#: ../libempathy-gtk/gossip-contact-list.c:310 +#, fuzzy +msgid "Edit the groups and name for this contact" +msgstr "請輸入這個帳號的名稱" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "_Remove" +msgstr "/移除好友(_R)" + +#: ../libempathy-gtk/gossip-contact-list.c:314 +#, fuzzy +msgid "Remove contact" +msgstr "/移除好友(_R)" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +#, fuzzy +msgid "_Invite to Chat Room" +msgstr "/邀請至聊天室(_I)" + +#: ../libempathy-gtk/gossip-contact-list.c:318 +msgid "Invite to a currently open chat room" +msgstr "" + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "_Send File..." +msgstr "/傳送檔案(_S)..." + +#: ../libempathy-gtk/gossip-contact-list.c:322 +#, fuzzy +msgid "Send a file" +msgstr "選擇一個檔案" + +#: ../libempathy-gtk/gossip-contact-list.c:326 +#, fuzzy +msgid "View previous conversations with this contact" +msgstr "顯示前一次交談" + +#: ../libempathy-gtk/gossip-preferences.c:250 +msgid "Language" +msgstr "語言" + +#: ../libempathy-gtk/gossip-preferences.glade.h:1 +msgid "<b>Appearance</b>" +msgstr "<b>外觀</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:2 +msgid "<b>Audio</b>" +msgstr "<b>音訊</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:3 +msgid "<b>Behaviour</b>" +msgstr "<b>行為</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:4 +#, fuzzy +msgid "<b>Contact List</b>" +msgstr "<b>狀態</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:5 +msgid "<b>Languages</b>" +msgstr "<b>語言</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:6 +#, fuzzy +msgid "<b>Options</b>" +msgstr "<b>連線</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:7 +msgid "<b>Visual</b>" +msgstr "<b>視覺效果</b>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:8 +msgid "" +"<small>The list of languages reflects only the languages for which you have " +"a dictionary installed.</small>" +msgstr "<small>這裡的語言清單只反映出您已經安裝字典的語言。</small>" + +#: ../libempathy-gtk/gossip-preferences.glade.h:9 +msgid "Avatars are user chosen images shown in the contact list" +msgstr "大頭貼是使用者選擇來提供連絡人清單顯示用的" + +#: ../libempathy-gtk/gossip-preferences.glade.h:10 +msgid "Chat Th_eme:" +msgstr "聊天佈景主題(_E):" + +#: ../libempathy-gtk/gossip-preferences.glade.h:11 +msgid "Display notifications when contacts come _online" +msgstr "連絡人上線時顯示通知(_O)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:12 +msgid "Enable sounds when _away" +msgstr "當「離開」時啟用音效(_A)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:13 +msgid "Enable sounds when _busy" +msgstr "當「忙碌」時啟用音效(_B)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:14 +msgid "General" +msgstr "一般" + +#: ../libempathy-gtk/gossip-preferences.glade.h:15 +msgid "Notifications" +msgstr "通知" + +#: ../libempathy-gtk/gossip-preferences.glade.h:16 +msgid "Preferences" +msgstr "偏好設定" + +#: ../libempathy-gtk/gossip-preferences.glade.h:17 +msgid "Show _avatars" +msgstr "顯示大頭貼(_A)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:18 +msgid "Show _smileys as images" +msgstr "以影像顯示表情符號(_S)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:19 +#, fuzzy +msgid "Show co_mpact contact list" +msgstr "顯示好友名單(_S)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:20 +msgid "Sort by _name" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:21 +msgid "Sort by s_tate" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:22 +msgid "Spell Checking" +msgstr "拼字檢查" + +#: ../libempathy-gtk/gossip-preferences.glade.h:23 +msgid "Themes" +msgstr "" + +#: ../libempathy-gtk/gossip-preferences.glade.h:24 +#, fuzzy +msgid "_Enable spell checking" +msgstr "啟用拼字檢查" + +#: ../libempathy-gtk/gossip-preferences.glade.h:25 +msgid "_Open new chats in separate windows" +msgstr "在個別視窗開啟新的聊天(_O)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:26 +msgid "_Play sound when messages arrive" +msgstr "收到訊息時播放音效(_P)" + +#: ../libempathy-gtk/gossip-preferences.glade.h:27 +#, fuzzy +msgid "_Use for chat rooms" +msgstr "儲存此聊天室(_T)" + +#: ../libempathy-gtk/gossip-presence-chooser.c:702 +msgid "Custom message..." +msgstr "自訂訊息..." + +#. Clear list +#: ../libempathy-gtk/gossip-presence-chooser.c:724 +msgid "Clear List..." +msgstr "清除清單..." + +#: ../libempathy-gtk/gossip-presence-chooser.c:803 +#, fuzzy +msgid "Are you sure you want to clear the list?" +msgstr "確定要清空這個清單?" + +#: ../libempathy-gtk/gossip-presence-chooser.c:807 +msgid "" +"This will remove any custom messages you have added to the list of preset " +"status messages." +msgstr "這樣會移除任何您曾加入到預先設定狀態訊息清單中的自訂訊息。" + +#: ../libempathy-gtk/gossip-presence-chooser.c:812 +msgid "Clear List" +msgstr "清除清單" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:1 +msgid "Enter status message:" +msgstr "輸入狀態訊息:" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:2 +msgid "Status Message Presets" +msgstr "狀態訊息預先設定" + +#: ../libempathy-gtk/gossip-presence-chooser.glade.h:3 +#, fuzzy +msgid "_Add to status message list" +msgstr "加入至狀態訊息清單" + +#: ../libempathy-gtk/gossip-private-chat.c:198 +#, c-format +msgid "%s went offline" +msgstr "%s 已離線" + +#: ../libempathy-gtk/gossip-private-chat.c:212 +#, c-format +msgid "%s has come online" +msgstr "%s 已經上線" + +#: ../libempathy-gtk/gossip-theme-manager.c:87 +msgid "Classic" +msgstr "古典" + +#: ../libempathy-gtk/gossip-theme-manager.c:88 +#, fuzzy +msgid "Simple" +msgstr "範例" + +#: ../libempathy-gtk/gossip-theme-manager.c:89 +#, fuzzy +msgid "Clean" +msgstr "清除(_L)" + +#: ../libempathy-gtk/gossip-theme-manager.c:90 +msgid "Blue" +msgstr "藍色" + +#: ../src/empathy-main.c:145 +msgid "Don't connect on startup" +msgstr "啟動程式時不進行連線" + +#: ../src/empathy-main.c:155 +#, fuzzy +msgid "- Empathy Instant Messenger" +msgstr "- Gossip 即時通訊程式" + +#~ msgid "Gossip Instant Messenger" +#~ msgstr "Gossip 即時通訊程式" + +#~ msgid "Normal" +#~ msgstr "正常" + +#~ msgid "Joining" +#~ msgstr "加入中" + +#~ msgid "Active" +#~ msgstr "使用中" + +#~ msgid "Inactive" +#~ msgstr "未使用" + +#~ msgid "Unknown" +#~ msgstr "不明" + +#~ msgid "Error" +#~ msgstr "錯誤" + +#, fuzzy +#~ msgid "Participant" +#~ msgid_plural "Participants" +#~ msgstr[0] "加利西亞文" +#~ msgstr[1] "加利西亞文" + +#, fuzzy +#~ msgid "No role" +#~ msgstr "正常" + +#, fuzzy +#~ msgid "No affiliation" +#~ msgstr "通知" + +#~ msgid "The nickname you have chosen is already in use." +#~ msgstr "您所選的暱稱已經被使用了。" + +#~ msgid "The chat room you tried to join requires a password." +#~ msgstr "您嘗試加入的聊天室需要密碼。" + +#~ msgid "The remote conference server did not respond in a sensible time." +#~ msgstr "遠端會議伺服器沒有在時間內回應。" + +#~ msgid "The conference server you tried to join could not be found." +#~ msgstr "找不到您嘗試加入的會議伺服器。" + +#~ msgid "An unknown error occurred, check your details are correct." +#~ msgstr "發生了未知的錯誤,請檢查您的詳細資訊是否正確。" + +#, fuzzy +#~ msgid "Joining the chatroom was canceled." +#~ msgstr "加入該聊天室" + +#~ msgid "Unavailable" +#~ msgstr "無法使用" + +#~ msgid "An unknown error occurred." +#~ msgstr "發生不明的錯誤。" + +#~ msgid "Connection refused." +#~ msgstr "連線被拒絕。" + +#~ msgid "Server address could not be resolved." +#~ msgstr "無法解析伺服器位址。" + +#~ msgid "Connection timed out." +#~ msgstr "連線已逾時。" + +#~ msgid "Authentication failed." +#~ msgstr "驗證已失敗。" + +#~ msgid "The username you are trying already exists." +#~ msgstr "您所輸入的使用者名稱已經被使用了。" + +#~ msgid "The username you are trying is not valid." +#~ msgstr "您所輸入的使用者名稱是無效的。" + +#~ msgid "This feature is unavailable." +#~ msgstr "這項功能無法使用。" + +#~ msgid "This feature is unauthorized." +#~ msgstr "這項功能未獲授權。" + +#~ msgid "A specific protocol error occurred that was unexpected." +#~ msgstr "指定的通訊協定發生未預期的錯誤。" + +#, fuzzy +#~ msgid "new account" +#~ msgstr "新增帳號" + +#~ msgid "Home" +#~ msgstr "首頁" + +#~ msgid "Couldn't send message!" +#~ msgstr "無法傳送訊息!" + +#~ msgid "Connection could not be opened" +#~ msgstr "無法開啟連線" + +#, fuzzy +#~ msgid "This service is unavailable or not found" +#~ msgstr "這項功能無法使用。" + +#, fuzzy +#~ msgid "Registration is required" +#~ msgstr "註冊" + +#, fuzzy +#~ msgid "There was an internal service error" +#~ msgstr "內部的伺服器錯誤" + +#, fuzzy +#~ msgid "This feature is not implemented" +#~ msgstr "這項功能未獲授權。" + +#, fuzzy +#~ msgid "The remote service timed out" +#~ msgstr "遠端伺服器逾時" + +#~ msgid "Stop" +#~ msgstr "停止" + +#~ msgid "Disconnect" +#~ msgstr "中斷連線" + +#~ msgid "Connect" +#~ msgstr "連線" + +#, fuzzy +#~ msgid "Successfully registered your new account settings." +#~ msgstr "成功註冊帳號" + +#, fuzzy +#~ msgid "You should now be able to connect to your new account." +#~ msgstr "您不能將 --no-connect 與 --account 一起使用" + +#, fuzzy +#~ msgid "Failed to register your new account settings." +#~ msgstr "註冊新帳號設定值不成功" + +#, fuzzy +#~ msgid "Successfully changed your account password." +#~ msgstr "輸入您的帳號密碼: " + +#, fuzzy +#~ msgid "Failed to change your account password." +#~ msgstr "輸入您的帳號密碼: " + +#, fuzzy +#~ msgid "" +#~ "Please enter a new password for this account:\n" +#~ "%s" +#~ msgstr "" +#~ "請為新的群組命名:\n" +#~ "%s" + +#~ msgid "No information is available for this contact." +#~ msgstr "沒有這個好友的相關資訊。" + +#~ msgid "Information requested, please wait..." +#~ msgstr "要求資訊,請稍候..." + +#~ msgid "I would like to add you to my contact list." +#~ msgstr "我希望可以將您加入我的好友名單之內。" + +#~ msgid "To summarize:" +#~ msgstr "要做總結:" + +#, fuzzy +#~ msgid "%d new message" +#~ msgid_plural "%d new messages" +#~ msgstr[0] "新增訊息" +#~ msgstr[1] "新增訊息" + +#, fuzzy +#~ msgid "%d subscription request" +#~ msgid_plural "%d subscription requests" +#~ msgstr[0] "訂閱要求" +#~ msgstr[1] "訂閱要求" + +#, fuzzy +#~ msgid "%d file transfer request" +#~ msgid_plural "%d file transfer requests" +#~ msgstr[0] "檔案傳輸要求" +#~ msgstr[1] "檔案傳輸要求" + +#, fuzzy +#~ msgid "%d server message" +#~ msgid_plural "%d server messages" +#~ msgstr[0] "無法傳送訊息!" +#~ msgstr[1] "無法傳送訊息!" + +#, fuzzy +#~ msgid "%d error" +#~ msgid_plural "%d errors" +#~ msgstr[0] "錯誤" +#~ msgstr[1] "錯誤" + +#~ msgid "If you quit, you will lose all unread information." +#~ msgstr "如果離開,您將失去所有未閱讀的資訊。" + +#~ msgid "Edit Account _Details" +#~ msgstr "編輯帳號詳細資訊(_D)" + +#~ msgid "Click to enlarge" +#~ msgstr "按這裡放大" + +#~ msgid "Word" +#~ msgstr "字" + +#~ msgid "New message from %s" +#~ msgstr "收到來自 %s 的新訊息" + +#~ msgid "Your invitation has been declined" +#~ msgstr "您的邀請被拒絕了" + +#~ msgid "Accept" +#~ msgstr "接受" + +#~ msgid "Decline" +#~ msgstr "拒絕" + +#, fuzzy +#~ msgid "Name" +#~ msgstr "名稱:" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "聊天室(_R)" + +#~ msgid "Auto Connect" +#~ msgstr "自動連線" + +#~ msgid "Information requested..." +#~ msgstr "要求資訊..." + +#~ msgid "Do you want to remove this contact from your roster?" +#~ msgstr "是否想從名單中移除這個好友?" + +#~ msgid "" +#~ "Please enter a new name for the group:\n" +#~ "%s" +#~ msgstr "" +#~ "請為新的群組命名:\n" +#~ "%s" + +#~ msgid "Select" +#~ msgstr "選擇" + +#~ msgid "Unsorted" +#~ msgstr "未排序" + +#~ msgid "New file transfer request from %s" +#~ msgstr "來自 %s 的檔案傳輸要求" + +#~ msgid "File transfer is not supported by both parties." +#~ msgstr "雙方都不支援檔案傳輸。" + +#~ msgid "Your file transfer offer declined." +#~ msgstr "您的檔案傳輸要求被拒絕了。" + +#~ msgid "The other user decided not to continue." +#~ msgstr "另一個使用者決定不要繼續。" + +#~ msgid "Unknown error occurred during file transfer." +#~ msgstr "在檔案傳輸過程中遇到未知的錯誤。" + +#~ msgid "%s would like to send you a file." +#~ msgstr "%s 希望可以傳送給您一個檔案。" + +#~ msgid "Someone would like to send you a file." +#~ msgstr "某人想要傳送給您一個檔案。" + +#~ msgid "Select a file" +#~ msgstr "選擇一個檔案" + +#, fuzzy +#~ msgid "Connecting..." +#~ msgstr "正在連線" + +#, fuzzy +#~ msgid "Retry connection" +#~ msgstr "停止連線" + +#~ msgid "Invited %s to join this chat conference." +#~ msgstr "邀請 %s 參加這個聊天會議。" + +#, fuzzy +#~ msgid "%s has set the topic: %s" +#~ msgstr "%s 已經設定該主題" + +#, fuzzy +#~ msgid "Enter the new topic you want to set for this room:" +#~ msgstr "您想使用甚麼稱呼來代表這個好友?" + +#, fuzzy +#~ msgid "%s has joined the room" +#~ msgstr "%s 已經設定該主題" + +#, fuzzy +#~ msgid "%s has left the room" +#~ msgstr "%s 已經設定該主題" + +#, fuzzy +#~ msgid "Topic: %s" +#~ msgstr "題目(_T):" + +#~ msgid "Account" +#~ msgstr "帳號" + +#~ msgid "Conversation With" +#~ msgstr "交談於" + +#~ msgid "Date" +#~ msgstr "日期" + +#~ msgid "List the available accounts" +#~ msgstr "列出可供使用的帳號" + +#~ msgid "Which account to connect to on startup" +#~ msgstr "程式啟動時自動連接至哪個帳號" + +#~ msgid "ACCOUNT-NAME" +#~ msgstr "帳號名稱" + +#~ msgid "You can not use --no-connect together with --account" +#~ msgstr "您不能將 --no-connect 與 --account 一起使用" + +#~ msgid "No accounts available." +#~ msgstr "沒有可用的帳號。" + +#~ msgid "Available accounts:" +#~ msgstr "可使用的帳號:" + +#~ msgid "[default]" +#~ msgstr "[預設]" + +#~ msgid "There is no account with the name '%s'." +#~ msgstr "已經有名為“%s”的帳號存在。" + +#~ msgid "Join" +#~ msgstr "加入" + +#, fuzzy +#~ msgid "Create" +#~ msgstr "日期" + +#~ msgid "Chat Rooms" +#~ msgstr "聊天室" + +#, fuzzy +#~ msgid "Browsing for conference rooms, please wait..." +#~ msgstr "正嘗試加入聊天室,請稍等..." + +#~ msgid "Default" +#~ msgstr "預設值" + +#~ msgid "Chat!" +#~ msgstr "聊天!" + +#~ msgid "%s wants to be added to your contact list." +#~ msgstr "%s 將會被加入至您的好友名單。" + +#~ msgid "Someone wants to be added to your contact list." +#~ msgstr "有人希望能加入至您的好友名單。" + +#, fuzzy +#~ msgid "Subscription request" +#~ msgstr "訂閱要求" + +#~ msgid "Contact Information" +#~ msgstr "連絡人資訊" + +#~ msgid "Subject: %s" +#~ msgstr "主旨:%s" + +#~ msgid "Suggestions for the word" +#~ msgstr "對這個字的建議" + +#~ msgid "New subscription request from %s" +#~ msgstr "來自 %s 的新訂閱要求" + +#~ msgid "Do you want to add this person to your contact list?" +#~ msgstr "您是否想將這個人加入至您的好友名單?" + +#~ msgid "Do you want to add %s to your contact list?" +#~ msgstr "您是否想將 %s 加入您的好友名單?" + +#~ msgid "Please enter your %s account password" +#~ msgstr "請輸入 %s 的帳號密碼" + +#, fuzzy +#~ msgid "Logging in to account '%s'" +#~ msgstr "登入到:%s" + +#~ msgid "Remember Password?" +#~ msgstr "是否記下密碼?" + +#~ msgid "Could not display the help contents." +#~ msgstr "無法顯示說明內容。" + +#~ msgid "Select Your Avatar Image" +#~ msgstr "選擇您的大頭貼影像。" + +#~ msgid "No Image" +#~ msgstr "沒有影像" + +#~ msgid "The server does not seem to be responding." +#~ msgstr "此伺服器似乎沒有回應。" + +#~ msgid "Try again later." +#~ msgstr "請稍後再試。" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "聊天" + +#~ msgid "Contact goes offline" +#~ msgstr "好友已離線" + +#~ msgid "Contact goes online" +#~ msgstr "好友已上線" + +#~ msgid "Contact ID:" +#~ msgstr "連絡人 ID:" + +#~ msgid "Do you want to accept this file?" +#~ msgstr "您是否想接受這個檔案?" + +#~ msgid "File Transfer Request" +#~ msgstr "檔案傳輸要求" + +#~ msgid "File name:" +#~ msgstr "檔案名稱:" + +#~ msgid "File size:" +#~ msgstr "檔案大小:" + +#~ msgid "Not supported yet" +#~ msgstr "尚未支援" + +#~ msgid "This person wishes to send you this file:" +#~ msgstr "這個人希望傳送給您這個檔案:" + +#~ msgid "Web site:" +#~ msgstr "網站:" + +#~ msgid "_Accept" +#~ msgstr "接受(_A)" + +#~ msgid "_Deny" +#~ msgstr "拒絕(_D)" + +#, fuzzy +#~ msgid "<b>Topic:</b>" +#~ msgstr "<b>關於</b>" + +#~ msgid "Account:" +#~ msgstr "帳號:" + +#, fuzzy +#~ msgid "Browse:" +#~ msgstr "法羅文" + +#, fuzzy +#~ msgid "Edit Favorite Room" +#~ msgstr "編輯聊天室" + +#~ msgid "Group Chat" +#~ msgstr "群組聊天" + +#, fuzzy +#~ msgid "Join New" +#~ msgstr "加入新的(_N)..." + +#~ msgid "Join room on start_up" +#~ msgstr "啟動時加入聊天室(_U)" + +#~ msgid "Join this chat room when Gossip starts and you are connected" +#~ msgstr "當 Gossip 啟動並連上網路時加入這個聊天室。" + +#, fuzzy +#~ msgid "Manage Favorite Rooms" +#~ msgstr "管理聊天室" + +#~ msgid "N_ame:" +#~ msgstr "名稱(_A):" + +#~ msgid "S_erver:" +#~ msgstr "伺服器(_E):" + +#~ msgid "_Nickname:" +#~ msgstr "暱稱(_N):" + +#~ msgid "_Room:" +#~ msgstr "聊天室(_R):" + +#~ msgid "-" +#~ msgstr "-" + +#~ msgid "<b>About</b>" +#~ msgstr "<b>關於</b>" + +#~ msgid "<b>Client Information</b>" +#~ msgstr "<b>客戶端資訊</b>" + +#, fuzzy +#~ msgid "<b>Groups</b>" +#~ msgstr "<b>關於</b>" + +#, fuzzy +#~ msgid "<b>Name</b>" +#~ msgstr "<b>語言</b>" + +#~ msgid "<b>Personal Details</b>" +#~ msgstr "<b>個人資訊</b>" + +#, fuzzy +#~ msgid "<b>Subscription</b>" +#~ msgstr "<b>連線</b>" + +#~ msgid "<span size=\"smaller\">Example: Mikael or user@server.org</span>" +#~ msgstr "<span size=\"smaller\">範例:Mikael 或 user@jabber.org</span>" + +#, fuzzy +#~ msgid "Accou_nt:" +#~ msgstr "帳號:" + +#~ msgid "Add Contact" +#~ msgstr "加入聯絡人" + +#, fuzzy +#~ msgid "Alia_s:" +#~ msgstr "別名:" + +#~ msgid "Avatar:" +#~ msgstr "大頭貼:" + +#~ msgid "Ch_at" +#~ msgstr "聊天(_A)" + +#~ msgid "Client:" +#~ msgstr "客戶端:" + +#, fuzzy +#~ msgid "Con_tact:" +#~ msgstr "連絡人" + +#~ msgid "Connect on S_tartup" +#~ msgstr "啟動時連線(_T)" + +#~ msgid "Contacts" +#~ msgstr "連絡人" + +#~ msgid "Country:" +#~ msgstr "國家:" + +#~ msgid "Decide _Later" +#~ msgstr "稍後決定(_L)" + +#, fuzzy +#~ msgid "Edit Contact" +#~ msgstr "加入聯絡人" + +#~ msgid "Edit Groups" +#~ msgstr "編輯群組" + +#~ msgid "Email:" +#~ msgstr "電郵:" + +#~ msgid "ID:" +#~ msgstr "ID:" + +#~ msgid "" +#~ "If you chose to decide later you will be asked the next time you log on." +#~ msgstr "如果您選擇稍後再決定,下次登入時將被再詢問一次。" + +#~ msgid "Name:" +#~ msgstr "名稱:" + +#~ msgid "OS:" +#~ msgstr "作業系統:" + +#~ msgid "Personal Details" +#~ msgstr "個人詳細資料" + +#, fuzzy +#~ msgid "R_egister" +#~ msgstr "註冊(_G)..." + +#~ msgid "Search" +#~ msgstr "搜尋" + +#~ msgid "Spell Checker" +#~ msgstr "拼字檢查" + +#~ msgid "Subscription Request" +#~ msgstr "訂閱要求" + +#~ msgid "Suggestions for the word:" +#~ msgstr "對這個字的建議:" + +#~ msgid "" +#~ "This acts as a filter to the contact list below. You can use segments of " +#~ "contact's name or ID, for example, \"jabber.org\" will list everyone " +#~ "using that server" +#~ msgstr "" +#~ "這會做為下面連絡人清單的過濾器。您可以使用連絡人的部分名稱或 ID,例如," +#~ "「jabber.org」會列出每個使用該伺服器的人" + +#~ msgid "This is the name that will be used on your roster for this contact" +#~ msgstr "這是在您的好友名單上用來顯示此連絡人的名稱" + +#~ msgid "This name will be used to identify you in chat windows" +#~ msgstr "這個名稱會用在聊天視窗中辨識您的身分" + +#~ msgid "" +#~ "This name will be used to identify you when new contacts lookup your " +#~ "details" +#~ msgstr "這個名稱用在有新的連絡人查詢您的詳細資訊時可供辨識身分" + +#~ msgid "Use system pro_xy" +#~ msgstr "使用系統的代理伺服器設定(_X)" + +#~ msgid "Version:" +#~ msgstr "版本:" + +#~ msgid "View Previous Conversations" +#~ msgstr "顯示前一次交談" + +#~ msgid "Which account do you want to use?" +#~ msgstr "要使用甚麼帳號名稱?" + +#~ msgid "You are not subscribed to this contact." +#~ msgstr "您沒有訂閱這個好友。" + +#~ msgid "_Connect" +#~ msgstr "連線(_C)" + +#, fuzzy +#~ msgid "_Description:" +#~ msgstr "描述:" + +#~ msgid "_Disconnect" +#~ msgstr "斷線(_D)" + +#, fuzzy +#~ msgid "_Email:" +#~ msgstr "電郵:" + +#, fuzzy +#~ msgid "" +#~ "_Enter the name or contact ID of the person you want to chat to below:" +#~ msgstr "在下面輸入您想聊天的人名或連絡人 ID:" + +#, fuzzy +#~ msgid "_For:" +#~ msgstr "連接埠(_P):" + +#, fuzzy +#~ msgid "_Full Name:" +#~ msgstr "名稱(_N):" + +#, fuzzy +#~ msgid "_Group:" +#~ msgstr "群組:" + +#, fuzzy +#~ msgid "_Nick Name:" +#~ msgstr "暱稱(_N):" + +#~ msgid "_Password:" +#~ msgstr "密碼(_P):" + +#, fuzzy +#~ msgid "_Quit Message:" +#~ msgstr "新增訊息" + +#~ msgid "_Subscribe" +#~ msgstr "訂閱(_S)" + +#, fuzzy +#~ msgid "_Web site:" +#~ msgstr "網站:" + +#, fuzzy +#~ msgid "irc account settings" +#~ msgstr "<b>帳號設定</b>" + +#, fuzzy +#~ msgid "msn account settings" +#~ msgstr "<b>帳號設定</b>" + +#~ msgid "Preset status messages" +#~ msgstr "預設狀態訊息" + +#~ msgid "Preset status messages." +#~ msgstr "預設狀態訊息" + +#~ msgid "Connecting" +#~ msgstr "正在連線" + +#~ msgid "Perhaps you are trying to connect to the wrong port?" +#~ msgstr "也許您嘗試連線到錯誤的連接埠?" + +#~ msgid "Perhaps the service is not currently running?" +#~ msgstr "也許此伺服器並未執行這個服務?" + +#~ msgid "Check your connection details." +#~ msgstr "請檢查您的連線詳細資訊。" + +#~ msgid "Perhaps the server is not running this service." +#~ msgstr "也許此伺服器並未執行這個服務。" + +#~ msgid "Check your username and password are correct." +#~ msgstr "請檢查您的使用者名稱與密碼是否正確。" + +#~ msgid "%s will be added to your contact list." +#~ msgstr "%s 將會被加入至您的好友名單。" + +#~ msgid "%s ID of new contact:" +#~ msgstr "新的好友的 %s ID:" + +#~ msgid "Example: %s" +#~ msgstr "範例: %s" + +#, fuzzy +#~ msgid "Show accounts and pending connections" +#~ msgstr "按這裡顯示帳號及任何進行中的連線。" + +#~ msgid "You have no Instant Messaging accounts configured!" +#~ msgstr "您尚未設定即時通訊帳號!" + +#~ msgid "" +#~ "Next you will be presented with the Account Information dialog to set " +#~ "your details up." +#~ msgstr "接下來將會出現帳號資訊對話方塊以讓您設定詳細資訊。" + +#~ msgid "" +#~ "Please enter your invitation message to:\n" +#~ "%s" +#~ msgstr "" +#~ "請輸入您的邀請訊息給:\n" +#~ "%s" + +#~ msgid "Favourite" +#~ msgstr "喜好" + +#~ msgid "/Contact Infor_mation" +#~ msgstr "/連絡人資訊(_M)" + +#~ msgid "/Re_name Contact" +#~ msgstr "/更改好友名稱(_N)" + +#~ msgid "/_Edit Groups" +#~ msgstr "/編輯群組(_E)" + +#~ msgid "/_View Previous Conversations" +#~ msgstr "/顯示前一次交談(_V)" + +#~ msgid "" +#~ "Please enter a new nickname for the contact\n" +#~ "%s" +#~ msgstr "" +#~ "請輸入以下好友的稱呼\n" +#~ "%s" + +#~ msgid "Edit groups for %s" +#~ msgstr "編輯 %s 的群組" + +#~ msgid "Conversation Log" +#~ msgstr "對話紀錄" + +#~ msgid "Registering account" +#~ msgstr "註冊帳號" + +#~ msgid "Example" +#~ msgstr "範例" + +#~ msgid "Add to _favourites" +#~ msgstr "加入喜好(_F)" + +#~ msgid "" +#~ "Customize your own nickname, the server and chatroom which you wish to " +#~ "join." +#~ msgstr "自訂您的暱稱、伺服器名稱和要進入的聊天室名稱。" + +#~ msgid "Edit your chat room details:" +#~ msgstr "編輯您的群組聊天室詳細資訊:" + +#~ msgid "Na_me:" +#~ msgstr "名稱(_M):" + +#~ msgid "New Chat Room" +#~ msgstr "新增聊天室" + +#~ msgid "" +#~ "Pick a saved chat room from the presets available below and click Join to " +#~ "start chatting." +#~ msgstr "從下列可用的預先設定中挑選一個已儲存的聊天室,再按加入開始聊天。" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "<b>Information requested, please wait...</b>" +#~ msgstr "<b>要求資訊,請稍候...</b>" + +#~ msgid "<span size=\"smaller\">Example:</span>" +#~ msgstr "<span size=\"smaller\">範例:</span>" + +#~ msgid "Account Name" +#~ msgstr "帳號名稱" + +#~ msgid "Connection Details" +#~ msgstr "連線詳細資料" + +#~ msgid "Do you already have an account set up on a server?" +#~ msgstr "您是不是已經有伺服器的帳號了?" + +#~ msgid "Enter the port used in the connection for this account" +#~ msgstr "輸入這個帳號在此連線中所使用的連接埠" + +#~ msgid "Enter the server used in the connection for this account" +#~ msgstr "輸入這個帳號在此連線中所使用的伺服器" + +#~ msgid "Enter the user's contact ID:" +#~ msgstr "輸入該使用者的連絡人 ID:" + +#~ msgid "Enter your real name here" +#~ msgstr "在這裡輸入您的真實姓名" + +#~ msgid "Finished" +#~ msgstr "完成設定" + +#~ msgid "For increased security, enable this option" +#~ msgstr "為了增進安全性,請啟用這個選項" + +#~ msgid "Gossip" +#~ msgstr "Gossip" + +#~ msgid "" +#~ "Gossip is a modern client for the Jabber Instant Messaging system.\n" +#~ "\n" +#~ "This assistant will help you configure Gossip and connect you to your " +#~ "favorite Jabber server.\n" +#~ "\n" +#~ "To get started, just click \"Forward\"." +#~ msgstr "" +#~ "Gossip 是一個嶄新的 Jabber 即時通訊客戶端程式。\n" +#~ "\n" +#~ "本精靈會協助您設定 Gossip,並連接至您想使用的 Jabber 伺服器。\n" +#~ "\n" +#~ "如果準備好,請按「下一頁」。" + +#~ msgid "" +#~ "If you have another machine on your network which 'proxies' the " +#~ "connection to the internet and you want to use it, enable this option" +#~ msgstr "" +#~ "如果在您的網路中有其他電腦「代理」到網際網絡的連線而您想要使用它,請啟用這" +#~ "個選項" + +#~ msgid "" +#~ "If you need to set specific connection details, like a different server " +#~ "or port, you can configure that here:" +#~ msgstr "" +#~ "如果需要設定特定的連線資訊,像是不同的伺服器或連接埠,可以在這裡設定:" + +#~ msgid "" +#~ "In order to subscribe to presence notifications from the user, a request " +#~ "will be sent. Until this request is approved, the user will always be " +#~ "shown as \"Offline\" in your contact list." +#~ msgstr "" +#~ "為了訂閱使用者的上線通知,將送出要求。直到這個要求被同意之前,該使用者在您" +#~ "的好友名單中將顯示為“離線”。" + +#~ msgid "In which group do you want to place this contact?" +#~ msgstr "您想將這個好友加入哪個群組之內?" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "" +#~ "Leave this blank if you don't want your password stored on a public " +#~ "machine. If you decide to do this, you will be prompted each time you " +#~ "connect for a password" +#~ msgstr "" +#~ "如果不希望您的密碼儲存在公用的電腦上,可以保持此欄空白。如果決定要這麼做," +#~ "每一次連線的時候都會向您提問密碼" + +#~ msgid "Nickname:" +#~ msgstr "暱稱:" + +#~ msgid "Port:" +#~ msgstr "埠號:" + +#~ msgid "Press Subscribe to request to receive their status" +#~ msgstr "請訂閱以接收他們的狀態" + +#~ msgid "Registering Account" +#~ msgstr "註冊帳號" + +#~ msgid "Resource:" +#~ msgstr "資源:" + +#~ msgid "Sending request" +#~ msgstr "正在傳送要求" + +#~ msgid "Server:" +#~ msgstr "伺服器:" + +#~ msgid "Web Site:" +#~ msgstr "網站:" + +#~ msgid "Welcome to Gossip" +#~ msgstr "歡迎使用 Gossip" + +#~ msgid "What instant messaging system does the contact use?" +#~ msgstr "該好友使用哪種即時通訊系統?" + +#~ msgid "What is your name?" +#~ msgstr "怎樣稱呼您?" + +#~ msgid "" +#~ "What name do you want to use to identify this account?\n" +#~ "\n" +#~ "This name could be something associated with the service provider, for " +#~ "example, <b>Google</b>." +#~ msgstr "" +#~ "要使用何種名稱來識別這個帳號?\n" +#~ "\n" +#~ "這個名稱可以是跟其服務的提供者有關的事物,例如,<b>Google</b>。" + +#~ msgid "What password do you want to use?" +#~ msgstr "要使用什麼密碼?" + +#~ msgid "What username do you use?" +#~ msgstr "您使用甚麼名稱?" + +#~ msgid "What username do you want to use?" +#~ msgstr "您想使用甚麼用戶名稱?" + +#~ msgid "Which account do you want to add this contact to?" +#~ msgstr "您想將這個好友加入哪個帳號之內?" + +#~ msgid "" +#~ "You can change your account settings later by selecting the Edit-" +#~ ">Accounts menu item." +#~ msgstr "稍後您可以在選單中選取「編輯→帳號」來更改帳號設定。" + +#~ msgid "" +#~ "You need to set a name for the connection, for example, <b>Home</b> or " +#~ "<b>Laptop</b>." +#~ msgstr "您需要設定該連線的名稱,例如,<b>家裡</b> 或 <b>筆電</b>。" + +#~ msgid "Your Account" +#~ msgstr "您的帳號" + +#~ msgid "Your Identity" +#~ msgstr "您的身分" + +#~ msgid "Your new account has now been set up." +#~ msgstr "現在已設定好您的新帳號。" + +#~ msgid "_Forget" +#~ msgstr "忘記密碼(_F)" + +#~ msgid "_Group Chat" +#~ msgstr "群組聊天(_G)" + +#~ msgid "_No" +#~ msgstr "否(_N)" + +#~ msgid "_Search..." +#~ msgstr "搜尋(_S)..." + +#~ msgid "_Yes" +#~ msgstr "是(_Y)" + +#~ msgid "Respond" +#~ msgstr "回應" + +#~ msgid "Dark" +#~ msgstr "暗" + +#~ msgid "Contact Information for %s" +#~ msgstr "有關 %s 的資訊" + +#, fuzzy +#~ msgid "Chat Rooms..." +#~ msgstr "聊天室:" + +#~ msgid "Be silent when away" +#~ msgstr "「離開」時不發出音效" + +#~ msgid "Be silent when busy" +#~ msgstr "「忙碌」時不發出音效" + +#~ msgid "Height of main window" +#~ msgstr "主視窗高度" + +#~ msgid "The X position of the main window." +#~ msgstr "啟動時主視窗的水平位置。" + +#~ msgid "The Y position of the main window." +#~ msgstr "啟動時主視窗的垂直位置。" + +#~ msgid "The width of the main window." +#~ msgstr "主視窗寬度" + +#~ msgid "Whether spell checking should be turned on." +#~ msgstr "是否開啟拼字檢查。" + +#~ msgid "Width of the main window" +#~ msgstr "主視窗寬度" + +#~ msgid "X position of main window" +#~ msgstr "主視窗水平位置" + +#~ msgid "Y position of main window" +#~ msgstr "主視窗垂直位置" + +#~ msgid "Gossip, Instant Messaging Client" +#~ msgstr "Gossip 即時通訊軟體" + +#, fuzzy +#~ msgid "Close this chat window" +#~ msgstr "邀請至聊天室(_I)" + +#~ msgid "Requested Information" +#~ msgstr "要求的資訊" + +#~ msgid "/_Invite to Chat Conference" +#~ msgstr "/邀請至聊天會議(_I)" + +#, fuzzy +#~ msgid "Send Message" +#~ msgstr "新增訊息(_N)..." + +#, fuzzy +#~ msgid "%s has gone offline" +#~ msgstr "%s 已離線" + +#~ msgid "Available..." +#~ msgstr "有空..." + +#~ msgid "Busy..." +#~ msgstr "忙碌..." + +#~ msgid "Away..." +#~ msgstr "離開..." + +#~ msgid "Contact _Information" +#~ msgstr "連絡資訊(_I)" + +#~ msgid "<b>Sound</b>" +#~ msgstr "<b>聲音</b>" + +#~ msgid "Check spelling while I _type" +#~ msgstr "當我輸入時檢查拼字(_T)" + +#~ msgid "Gossip - Accounts" +#~ msgstr "Gossip - 帳號" + +#, fuzzy +#~ msgid "Join _Group Chat..." +#~ msgstr "加入群組聊天(_J)..." + +#~ msgid "Por_t:" +#~ msgstr "連接埠(_T):" + +#~ msgid "Requested information." +#~ msgstr "要求的資訊。" + +#~ msgid "Requesting contact information, please wait..." +#~ msgstr "正要求好友資訊,請稍候..." + +#~ msgid "Could not open connection" +#~ msgstr "無法開啟連線" + +#~ msgid "Could not find the server you wanted to use" +#~ msgstr "找不到您想要使用的伺服器" + +#~ msgid "Connection to the server failed." +#~ msgstr "連線至伺服器時失敗。" + +#~ msgid "Authentication failed" +#~ msgstr "驗證失敗" + +#~ msgid "Written by:" +#~ msgstr "作者:" + +#~ msgid "Artwork by:" +#~ msgstr "美工:" + +#~ msgid "Translated by:" +#~ msgstr "翻譯:" + +#~ msgid "Account ID" +#~ msgstr "帳號 ID" + +#~ msgid "Last Error" +#~ msgstr "上次錯誤" + +#~ msgid "%sChat - %s" +#~ msgstr "%s聊天 - %s" + +#~ msgid "/Show _Log" +#~ msgstr "/顯示對話紀錄(_L)" + +#~ msgid "Afrikaans" +#~ msgstr "南非荷蘭語" + +#~ msgid "Amharic" +#~ msgstr "阿姆哈拉語" + +#~ msgid "Arabic" +#~ msgstr "阿拉伯語" + +#~ msgid "Azerbaijani" +#~ msgstr "亞塞拜然語" + +#~ msgid "Belarusian" +#~ msgstr "白俄羅斯語" + +#~ msgid "Bulgarian" +#~ msgstr "保加利亞語" + +#~ msgid "Bengali" +#~ msgstr "孟加拉語" + +#~ msgid "Breton" +#~ msgstr "不列塔尼語" + +#~ msgid "Bosnian" +#~ msgstr "波士尼亞語" + +#~ msgid "Catalan" +#~ msgstr "加泰隆語" + +#~ msgid "Czech" +#~ msgstr "捷克語" + +#~ msgid "Welsh" +#~ msgstr "威爾士語" + +#~ msgid "Danish" +#~ msgstr "丹麥語" + +#~ msgid "German" +#~ msgstr "德文" + +#~ msgid "German (Austria)" +#~ msgstr "德文(奧地利)" + +#~ msgid "German (Germany)" +#~ msgstr "德文(德意志)" + +#~ msgid "German (Swiss)" +#~ msgstr "德文(瑞士)" + +#~ msgid "Greek" +#~ msgstr "希臘語" + +#~ msgid "English" +#~ msgstr "英文" + +#~ msgid "English (Canadian)" +#~ msgstr "英文(加拿大)" + +#~ msgid "English (British)" +#~ msgstr "英語(英式)" + +#~ msgid "English (American)" +#~ msgstr "英語(美式)" + +#~ msgid "Esperanto" +#~ msgstr "世界語" + +#~ msgid "Spanish" +#~ msgstr "西班牙文" + +#~ msgid "Estonian" +#~ msgstr "愛沙尼亞語" + +#~ msgid "Persian" +#~ msgstr "波斯語" + +#~ msgid "Finnish" +#~ msgstr "芬蘭語" + +#~ msgid "French" +#~ msgstr "法文" + +#~ msgid "French (France)" +#~ msgstr "法文(法蘭西)" + +#~ msgid "French (Swiss)" +#~ msgstr "法文(瑞士)" + +#~ msgid "Irish Gaelic" +#~ msgstr "愛爾蘭蓋爾文" + +#~ msgid "Scots Gaelic" +#~ msgstr "蘇格蘭蓋爾文" + +#~ msgid "Gujarati" +#~ msgstr "印度語" + +#~ msgid "Manx Gaelic" +#~ msgstr "人島蓋爾文" + +#~ msgid "Hebrew" +#~ msgstr "希伯來語" + +#~ msgid "Hindi" +#~ msgstr "印度語(北印度)" + +#~ msgid "Croatian" +#~ msgstr "克羅地亞語" + +#~ msgid "Hungarian" +#~ msgstr "匈牙利語" + +#~ msgid "Indonesian" +#~ msgstr "印尼語" + +#~ msgid "Icelandic" +#~ msgstr "冰島語" + +#~ msgid "Italian" +#~ msgstr "意大利文" + +#~ msgid "Japanese" +#~ msgstr "日語" + +#~ msgid "Georgian" +#~ msgstr "喬治亞語" + +#~ msgid "Kannada" +#~ msgstr "坎納達語" + +#~ msgid "Korean" +#~ msgstr "韓文" + +#~ msgid "Kurdish" +#~ msgstr "庫德語" + +#~ msgid "Cornish" +#~ msgstr "康沃爾語" + +#~ msgid "Limburgish" +#~ msgstr "林堡語" + +#~ msgid "Lithuanian" +#~ msgstr "立陶宛文" + +#~ msgid "Latvian" +#~ msgstr "拉脫維亞語" + +#~ msgid "Maori" +#~ msgstr "毛利語" + +#~ msgid "Macedonian" +#~ msgstr "馬其頓語" + +#~ msgid "Malayalam" +#~ msgstr "馬拉雅拉姆語" + +#~ msgid "Mongolian" +#~ msgstr "蒙古語" + +#~ msgid "Marathi" +#~ msgstr "馬拉塔語" + +#~ msgid "Malay" +#~ msgstr "馬來語" + +#~ msgid "Norwegian (Bokmal)" +#~ msgstr "挪威語(Bokmaal)" + +#~ msgid "Nepali" +#~ msgstr "尼泊爾語" + +#~ msgid "Dutch" +#~ msgstr "荷蘭語" + +#~ msgid "Norwegian" +#~ msgstr "挪威語" + +#~ msgid "Norwegian (Nynorsk)" +#~ msgstr "挪威語(Nynorsk)" + +#~ msgid "Norwegian (Nyorsk)" +#~ msgstr "挪威語(Bokmaal)" + +#~ msgid "Oriya" +#~ msgstr "奧里雅語" + +#~ msgid "Punjabi" +#~ msgstr "旁加語" + +#~ msgid "Polish" +#~ msgstr "波蘭語" + +#~ msgid "Portuguese" +#~ msgstr "葡萄牙文" + +#~ msgid "Portuguese (Portugal)" +#~ msgstr "葡萄牙文(葡萄牙)" + +#~ msgid "Portuguese (Brazil)" +#~ msgstr "葡萄牙文(巴西)" + +#~ msgid "Romanian" +#~ msgstr "羅馬尼亞語" + +#~ msgid "Russian" +#~ msgstr "俄文" + +#~ msgid "Kinyarwanda" +#~ msgstr "盧安達語" + +#~ msgid "Slovak" +#~ msgstr "斯洛伐克語" + +#~ msgid "Slovenian" +#~ msgstr "斯洛文尼亞語" + +#~ msgid "Albanian" +#~ msgstr "阿爾巴尼亞語" + +#~ msgid "Serbian" +#~ msgstr "塞爾維亞語" + +#~ msgid "Swedish" +#~ msgstr "瑞典語" + +#~ msgid "Tamil" +#~ msgstr "泰米爾語" + +#~ msgid "Telugu" +#~ msgstr "泰盧固語" + +#~ msgid "Thai" +#~ msgstr "泰文" + +#~ msgid "Turkmen" +#~ msgstr "土庫曼語" + +#~ msgid "Turkish" +#~ msgstr "土耳其語" + +#~ msgid "Ukrainian" +#~ msgstr "烏克蘭語" + +#~ msgid "Vietnamese" +#~ msgstr "越南文" + +#~ msgid "Wallon" +#~ msgstr "瓦隆語" + +#~ msgid "Xhosa" +#~ msgstr "科薩語" + +#~ msgid "Yiddish" +#~ msgstr "意第緒語" + +#~ msgid "Chinese Simplified" +#~ msgstr "簡體中文" + +#~ msgid "Chinese Traditional" +#~ msgstr "繁體中文" + +#~ msgid "View Lo_g" +#~ msgstr "觀看對話紀錄(_G)" + +#, fuzzy +#~ msgid "Gossip - Chat Rooms" +#~ msgstr "Gossip - 編輯聊天室" + +#~ msgid "Gossip - Group Chat" +#~ msgstr "Gossip - 群組聊天" + +#, fuzzy +#~ msgid "Gossip - New Chatroom" +#~ msgstr "Gossip - 編輯聊天室" + +#~ msgid "Gossip - Add contact" +#~ msgstr "Gossip - 加入好友" + +#~ msgid "Gossip - Contact Information" +#~ msgstr "Gossip - 好友資訊" + +#~ msgid "Gossip - Edit Groups" +#~ msgstr "Gossip - 編輯群組" + +#~ msgid "Gossip - New Account" +#~ msgstr "Gossip - 新增帳號" + +#~ msgid "Gossip - New Message" +#~ msgstr "Gossip - 新訊息" + +#~ msgid "Gossip - Personal Details" +#~ msgstr "Gossip - 個人資訊" + +#~ msgid "Gossip - Preferences" +#~ msgstr "Gossip - 偏好設定" + +#~ msgid "Gossip - Spell Checker" +#~ msgstr "Gossip - 拼字檢查" + +#~ msgid "Gossip - Status Message" +#~ msgstr "Gossip - 狀態訊息" + +#~ msgid "Waiting for server to respond, please wait..." +#~ msgstr "等候伺服器的回應,請稍候..." + +#~ msgid "Connection could not be created" +#~ msgstr "無法建立連線" + +#~ msgid "Redirect" +#~ msgstr "重新導向" + +#~ msgid "Bad Request" +#~ msgstr "錯誤的要求" + +#~ msgid "Not Authorized" +#~ msgstr "未授權" + +#~ msgid "Payment Required" +#~ msgstr "需付款" + +#~ msgid "Forbidden" +#~ msgstr "被禁止" + +#~ msgid "Not Found" +#~ msgstr "找不到" + +#~ msgid "Not Allowed" +#~ msgstr "不允許" + +#~ msgid "Not Acceptable" +#~ msgstr "不能接受" + +#~ msgid "Request Timeout" +#~ msgstr "要求已逾時" + +#~ msgid "Conflict" +#~ msgstr "衝突" + +#~ msgid "Not Implemented" +#~ msgstr "未實作" + +#~ msgid "Remote Server Error" +#~ msgstr "遠端伺服器錯誤" + +#~ msgid "Service Unavailable" +#~ msgstr "服務無法使用" + +#~ msgid "Unknown error." +#~ msgstr "不明的錯誤。" + +#~ msgid "Custom" +#~ msgstr "自訂" + +#~ msgid "The chat room you are trying is not responding." +#~ msgstr "您所嘗試的聊天室沒有回應。" + +#~ msgid "Check your details and try again." +#~ msgstr "請檢查您的詳細資訊並再試一次。" + +#~ msgid "This is currently unsupported." +#~ msgstr "此項目前不支援。" + +#~ msgid "Perhaps the conference server is busy, try again later." +#~ msgstr "也許此會議伺服器正在忙碌,請稍後再試。" + +#~ msgid "Check the server host name is correct and is available." +#~ msgstr "請檢查伺服器主機名稱是否正確可用。" + +#~ msgid "Gossip will now try to use your account:" +#~ msgstr "Gossip 現在會嘗試使用這個帳號:" + +#~ msgid "Gossip will now try to register the account:" +#~ msgstr "現在 Gossip 會嘗試註冊帳號:" + +#~ msgid "Cus_tomize" +#~ msgstr "自訂(_T)" + +#~ msgid "Edit or Delete this favorite." +#~ msgstr "編輯或刪除這個喜好。" + +#~ msgid "Gossip - Join Chat Room " +#~ msgstr "Gossip - 加入聊天室" + +#~ msgid "Choose a Server" +#~ msgstr "選取伺服器" + +#~ msgid "On what server do you have an account?" +#~ msgstr "您在哪個伺服器有帳號?" + +#~ msgid "Configure Transports" +#~ msgstr "設定轉送程式" + +#~ msgid "_Jabber ID of new contact:" +#~ msgstr "新的好友的 _Jabber ID:" + +#~ msgid "Edit List..." +#~ msgstr "編輯清單..." + +#~ msgid "Automatically Connect" +#~ msgstr "自動連線" + +#~ msgid "Connect _Server:" +#~ msgstr "連接伺服器(_S):" + +#~ msgid "Gossip - Account Information" +#~ msgstr "Gossip - 帳號資訊" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#~ msgid "Gossip - Edit Favorite" +#~ msgstr "Gossip - 編輯喜好" + +#~ msgid "Gossip - Edit Group Chat Favorites" +#~ msgstr "Gossip - 編輯群組聊天喜好" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "" +#~ "<b>Configuring your new service...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>正在設定您的新服務...</b>\n" +#~ "這需要一點時間,請稍等。" + +#~ msgid "<b>Preferred Service</b>" +#~ msgstr "<b>偏好的服務</b>" + +#~ msgid "<b>Recommended Services</b>" +#~ msgstr "<b>建議的服務</b>" + +#~ msgid "" +#~ "<b>Requested service requirements...</b>\n" +#~ "This will take a few moments, please wait." +#~ msgstr "" +#~ "<b>正在尋找服務的要件...</b>\n" +#~ "這需要一點時間,請稍等。" + +#~ msgid "Add Account" +#~ msgstr "新增帳號" + +#~ msgid "Add Another Account" +#~ msgstr "新增其他帳號" + +#~ msgid "Choose from list:" +#~ msgstr "從名單中選取:" + +#~ msgid "Configure Transport" +#~ msgstr "設定轉送程式" + +#~ msgid "Configuring Service" +#~ msgstr "正在設定服務" + +#~ msgid "Gossip - Status Presets" +#~ msgstr "Gossip - 狀態預先設定" + +#~ msgid "Gossip - Welcome" +#~ msgstr "Gossip - 歡迎" + +#~ msgid "If you prefer, you can specify your own service:" +#~ msgstr "如果您喜歡,可以指定您自己的服務:" + +#~ msgid "Jabber Account" +#~ msgstr "Jabber 帳號" + +#~ msgid "Jabber.com" +#~ msgstr "Jabber.com" + +#~ msgid "Jabber.org" +#~ msgstr "Jabber.org" + +#~ msgid "Nick name:" +#~ msgstr "暱稱:" + +#~ msgid "Please complete the details below to set up your account: " +#~ msgstr "請在以下的欄位填上詳細的資料,以設定您的帳號: " + +#~ msgid "Populating services..." +#~ msgstr "計算服務的使用率..." + +#~ msgid "Remove Account" +#~ msgstr "移除帳號" + +#~ msgid "Service Details" +#~ msgstr "服務詳細資料" + +#~ msgid "Service:" +#~ msgstr "服務:" + +#~ msgid "" +#~ "This wizard will allow you to configure your account settings for another " +#~ "protocol. " +#~ msgstr "這個精靈會讓您設定其他協定的帳號設定值。" + +#~ msgid "Transport Accounts" +#~ msgstr "轉送程式帳號" + +#~ msgid "Use a different server" +#~ msgstr "使用另一個伺服器" + +#~ msgid "Which protocol would you like to set up? " +#~ msgstr "您想要設定哪個協定?" + +#~ msgid "" +#~ "You can set the status presets which appear in the presence menu on the " +#~ "main window here." +#~ msgstr "您可以在此設定顯示在主視窗上線選單中的狀態預先設定。" + +#~ msgid "You currently have the following accounts set up:" +#~ msgstr "您目前已設定下列帳號:" + +#~ msgid "_Account Information" +#~ msgstr "帳號資訊(_A)" diff --git a/trunk/src/Makefile.am b/trunk/src/Makefile.am new file mode 100644 index 000000000..05bc6f55a --- /dev/null +++ b/trunk/src/Makefile.am @@ -0,0 +1,69 @@ +cppflags = \ + -I$(top_srcdir) \ + -DPREFIX="\"$(prefix)"\" \ + -DSYSCONFDIR=\""$(sysconfdir)"\" \ + -DDATADIR=\""$(datadir)"\" \ + -DLIBDIR=\""$(libdir)"\" \ + $(EMPATHY_CFLAGS) \ + $(WARN_CFLAGS) + +libs = \ + $(top_builddir)/libempathy-gtk/libempathy-gtk.la \ + $(EMPATHY_LIBS) + +bin_PROGRAMS = \ + empathy \ + empathy-chat \ + empathy-accounts + +empathy_SOURCES = \ + empathy-main.c \ + empathy-filter.c empathy-filter.h +empathy_CPPFLAGS = $(cppflags) +empathy_LDADD = $(libs) + +empathy_accounts_SOURCES = empathy-accounts-main.c +empathy_accounts_CPPFLAGS = $(cppflags) +empathy_accounts_LDADD = $(libs) + +empathy_chat_SOURCES = empathy-chat-main.c +empathy_chat_CPPFLAGS = $(cppflags) +empathy_chat_LDADD = $(libs) + +# MC plugin +#pluginlib_LTLIBRARIES = libempathy-filter-plugin.la +#libempathy_filter_plugin_la_SOURCES = empathy-filter-plugin.c +#libempathy_filter_plugin_la_CPPFLAGS = $(MISSION_CONTROL_PLUGINS_CFLAGS) +#libempathy_filter_plugin_la_LIBADD = $(MISSION_CONTROL_PLUGINS_LIBS) + +# Dbus service file +servicedir = $(datadir)/dbus-1/services +service_in_files = org.gnome.Empathy.Chat.service.in +service_DATA = $(service_in_files:.service.in=.service) + +# Rule to make the service file with bindir expanded +$(service_DATA): $(service_in_files) Makefile + @sed -e "s|\@bindir\@|$(bindir)|" $< > $@ + +chandlerdir = $(datadir)/telepathy/managers +chandler_DATA = empathy-chat.chandler + +# Empathy filter DBus API +empathy-filter-glue.h: empathy-filter.xml + $(LIBTOOL) --mode=execute $(DBUS_BINDING_TOOL) --prefix=empathy_filter --mode=glib-server --output=$@ $< +empathy-filter-gen.h: empathy-filter.xml + $(LIBTOOL) --mode=execute $(DBUS_BINDING_TOOL) --prefix=empathy_filter --mode=glib-client --output=$@ $< + +BUILT_SOURCES = \ + org.gnome.Empathy.Chat.service \ + empathy-filter-glue.h \ + empathy-filter-gen.h + +EXTRA_DIST = \ + org.gnome.Empathy.Chat.service.in \ + empathy-filter.xml \ + $(autostart_DATA) \ + $(chandler_DATA) + +CLEANFILES = $(BUILT_SOURCES) + diff --git a/trunk/src/empathy-accounts-main.c b/trunk/src/empathy-accounts-main.c new file mode 100644 index 000000000..1f53e131e --- /dev/null +++ b/trunk/src/empathy-accounts-main.c @@ -0,0 +1,57 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <string.h> +#include <stdlib.h> + +#include <glib.h> +#include <gtk/gtk.h> + +#include <libempathy-gtk/gossip-accounts-dialog.h> + +static void +destroy_cb (GtkWidget *dialog, + gpointer user_data) +{ + gtk_main_quit (); +} + +int +main (int argc, char *argv[]) +{ + GtkWidget *dialog; + + gtk_init (&argc, &argv); + + dialog = gossip_accounts_dialog_show (NULL); + + g_signal_connect (dialog, "destroy", + G_CALLBACK (destroy_cb), + NULL); + + gtk_main (); + + return EXIT_SUCCESS; +} + diff --git a/trunk/src/empathy-chat-main.c b/trunk/src/empathy-chat-main.c new file mode 100644 index 000000000..fb0964934 --- /dev/null +++ b/trunk/src/empathy-chat-main.c @@ -0,0 +1,202 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <stdlib.h> + +#include <glib.h> +#include <glib/gi18n.h> +#include <gtk/gtk.h> + +#include <libgnome/gnome-program.h> +#include <libgnomeui/gnome-ui-init.h> + +#include <libtelepathy/tp-conn.h> +#include <libtelepathy/tp-chan.h> +#include <libmissioncontrol/mc-account.h> + +#include <libempathy/gossip-contact.h> +#include <libempathy/gossip-debug.h> +#include <libempathy/gossip-utils.h> +#include <libempathy/empathy-chandler.h> +#include <libempathy/empathy-tp-chat.h> +#include <libempathy/gossip-paths.h> +#include <libempathy-gtk/gossip-private-chat.h> +#include <libempathy-gtk/gossip-group-chat.h> + +#define DEBUG_DOMAIN "ChatMain" + +#define BUS_NAME "org.gnome.Empathy.Chat" +#define OBJECT_PATH "/org/freedesktop/Telepathy/ChannelHandler" + +/* Time to wait before exit, in seconds */ +#define EXIT_TIMEOUT 5 + + +static guint chat_count = 0; +static guint exit_timeout = 0; +static gboolean debug_mode = FALSE; + +static gboolean +exit_timeout_cb (gpointer user_data) +{ + gossip_debug (DEBUG_DOMAIN, "Timeout, exiting"); + + gtk_main_quit (); + + return FALSE; +} + +static void +exit_timeout_start (void) +{ + if (exit_timeout || debug_mode) { + return; + } + + exit_timeout = g_timeout_add (EXIT_TIMEOUT * 1000, + (GSourceFunc) exit_timeout_cb, + NULL); +} + +static void +exit_timeout_stop (void) +{ + if (exit_timeout) { + gossip_debug (DEBUG_DOMAIN, "Exit timeout canceled"); + g_source_remove (exit_timeout); + exit_timeout = 0; + } +} + +static void +chat_finalized_cb (gpointer user_data, + GossipChat *chat) +{ + chat_count--; + if (chat_count == 0) { + gossip_debug (DEBUG_DOMAIN, "No more chat, start exit timeout"); + exit_timeout_start (); + } +} + +static void +new_channel_cb (EmpathyChandler *chandler, + TpConn *tp_conn, + TpChan *tp_chan, + gpointer user_data) +{ + MissionControl *mc; + McAccount *account; + GossipChat *chat; + gchar *id; + + mc = gossip_mission_control_new (); + account = mission_control_get_account_for_connection (mc, tp_conn, NULL); + id = gossip_get_channel_id (account, tp_chan); + chat = gossip_chat_window_find_chat (account, id); + + g_free (id); + g_object_unref (mc); + + if (chat) { + /* The chat already exists */ + if (!gossip_chat_is_connected (chat)) { + EmpathyTpChat *tp_chat; + + /* The chat died, give him the new text channel */ + tp_chat = empathy_tp_chat_new (account, tp_chan); + gossip_chat_set_tp_chat (chat, tp_chat); + g_object_unref (tp_chat); + } + gossip_chat_present (chat); + + g_object_unref (account); + return; + } + + if (tp_chan->handle_type == TP_HANDLE_TYPE_CONTACT) { + /* We have a new private chat channel */ + chat = GOSSIP_CHAT (gossip_private_chat_new (account, tp_chan)); + } + else if (tp_chan->handle_type == TP_HANDLE_TYPE_ROOM) { + /* We have a new group chat channel */ + chat = GOSSIP_CHAT (gossip_group_chat_new (account, tp_chan)); + } + + g_object_weak_ref (G_OBJECT (chat), + (GWeakNotify) chat_finalized_cb, + NULL); + + exit_timeout_stop (); + chat_count++; + + gossip_chat_present (GOSSIP_CHAT (chat)); + + g_object_unref (chat); + g_object_unref (account); + +} + +int +main (int argc, char *argv[]) +{ + EmpathyChandler *chandler; + GnomeProgram *program; + gchar *localedir; + + localedir = gossip_paths_get_locale_path (); + bindtextdomain (GETTEXT_PACKAGE, localedir); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); + g_free (localedir); + + program = gnome_program_init ("empathy-chat", + PACKAGE_VERSION, + LIBGNOMEUI_MODULE, + argc, argv, + GNOME_PROGRAM_STANDARD_PROPERTIES, + GNOME_PARAM_HUMAN_READABLE_NAME, PACKAGE_NAME, + NULL); + + gtk_window_set_default_icon_name ("empathy"); + + if (g_getenv ("EMPATHY_DEBUG")) { + debug_mode = TRUE; + } + + //sexit_timeout_start (); + chandler = empathy_chandler_new (BUS_NAME, OBJECT_PATH); + + g_signal_connect (chandler, "new-channel", + G_CALLBACK (new_channel_cb), + NULL); + + gtk_main (); + + g_object_unref (program); + g_object_unref (chandler); + + return EXIT_SUCCESS; +} + diff --git a/trunk/src/empathy-chat.chandler b/trunk/src/empathy-chat.chandler new file mode 100644 index 000000000..4cfe75b01 --- /dev/null +++ b/trunk/src/empathy-chat.chandler @@ -0,0 +1,5 @@ +[ChannelHandler] +BusName = org.gnome.Empathy.Chat +ObjectPath = /org/freedesktop/Telepathy/ChannelHandler +ChannelType = org.freedesktop.Telepathy.Channel.Type.Text + diff --git a/trunk/src/empathy-filter-plugin.c b/trunk/src/empathy-filter-plugin.c new file mode 100644 index 000000000..ee90d974e --- /dev/null +++ b/trunk/src/empathy-filter-plugin.c @@ -0,0 +1,143 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <glib.h> + +#include <dbus/dbus-glib.h> + +#include <libtelepathy/tp-helpers.h> +#include <libtelepathy/tp-conn.h> + +#include <mission-control/mcd-dispatcher.h> +#include <mission-control/mcd-dispatcher-context.h> +#include <mission-control/mcd-channel.h> + +#include <libempathy/empathy-marshal-main.c> + +#include "empathy-filter-gen.h" + +static void filter_plugin_text_channel (McdDispatcherContext *ctx); +static void filter_plugin_handle_channel_cb (DBusGProxy *proxy, + GError *error, + McdDispatcherContext *ctx); +static void filter_plugin_process_cb (DBusGProxy *filter, + guint context_handle, + gboolean result, + McdDispatcher *dispatcher); + +static McdFilter text_in_filters[] = { + {filter_plugin_text_channel, MCD_FILTER_PRIORITY_USER}, + {NULL, 0} +}; + +static DBusGProxy *filter = NULL; +static GHashTable *contexts = NULL; +static guint n_contexts = 0; + +void +mcd_filters_init (McdDispatcher *dispatcher) +{ + static gboolean initialized = FALSE; + + if (initialized) { + return; + } + + filter = dbus_g_proxy_new_for_name (tp_get_bus (), + "org.gnome.Empathy.Filter", + "/org/gnome/Empathy/Filter", + "org.gnome.Empathy.Filter"); + + dbus_g_object_register_marshaller ( + empathy_marshal_VOID__UINT_BOOLEAN, + G_TYPE_NONE, + G_TYPE_UINT, + G_TYPE_BOOLEAN, + G_TYPE_INVALID); + + dbus_g_proxy_add_signal (filter, "Process", + G_TYPE_UINT, + G_TYPE_BOOLEAN, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal (filter, "Process", + G_CALLBACK (filter_plugin_process_cb), + dispatcher, + NULL); + contexts = g_hash_table_new_full (g_direct_hash, + g_direct_equal, + NULL, + (GDestroyNotify) g_object_unref); + + mcd_dispatcher_register_filters (dispatcher, + text_in_filters, + TELEPATHY_CHAN_IFACE_TEXT_QUARK, + MCD_FILTER_IN); + + initialized = TRUE; +} + +static void +filter_plugin_text_channel (McdDispatcherContext *ctx) +{ + const TpConn *tp_conn; + McdChannel *channel; + + tp_conn = mcd_dispatcher_context_get_connection_object (ctx); + channel = mcd_dispatcher_context_get_channel (ctx); + + n_contexts++; + g_hash_table_insert (contexts, + GUINT_TO_POINTER (n_contexts), + ctx); + + empathy_filter_handle_channel_async (filter, + dbus_g_proxy_get_bus_name (DBUS_G_PROXY (tp_conn)), + dbus_g_proxy_get_path (DBUS_G_PROXY (tp_conn)), + mcd_channel_get_channel_type (channel), + mcd_channel_get_object_path (channel), + mcd_channel_get_handle_type (channel), + mcd_channel_get_handle (channel), + n_contexts, + (empathy_filter_handle_channel_reply) filter_plugin_handle_channel_cb, + ctx); +} + +static void +filter_plugin_handle_channel_cb (DBusGProxy *proxy, + GError *error, + McdDispatcherContext *ctx) +{ +} + +static void +filter_plugin_process_cb (DBusGProxy *filter, + guint context_handle, + gboolean result, + McdDispatcher *dispatcher) +{ + McdDispatcherContext *ctx; + + g_print ("****processing\n"); + ctx = g_hash_table_lookup (contexts, GUINT_TO_POINTER (context_handle)); + mcd_dispatcher_context_process (ctx, result); +} + diff --git a/trunk/src/empathy-filter.c b/trunk/src/empathy-filter.c new file mode 100644 index 000000000..3696cc1c9 --- /dev/null +++ b/trunk/src/empathy-filter.c @@ -0,0 +1,173 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <dbus/dbus-glib.h> + +#include <libtelepathy/tp-helpers.h> +#include <libtelepathy/tp-conn.h> +#include <libtelepathy/tp-chan.h> + +#include <libempathy/gossip-debug.h> +#include <libempathy/empathy-marshal.h> + +#include "empathy-filter.h" + +#define DEBUG_DOMAIN "EmpathyFilter" + +static gboolean empathy_filter_handle_channel (EmpathyFilter *filter, + const gchar *bus_name, + const gchar *connection, + const gchar *channel_type, + const gchar *channel, + guint handle_type, + guint handle, + guint context_handle, + GError **error); + +#include "empathy-filter-glue.h" + +enum { + NEW_CHANNEL, + PROCESS, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL]; + +G_DEFINE_TYPE (EmpathyFilter, empathy_filter, G_TYPE_OBJECT) + +static void +empathy_filter_class_init (EmpathyFilterClass *klass) +{ + signals[NEW_CHANNEL] = + g_signal_new ("new-channel", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + empathy_marshal_VOID__OBJECT_OBJECT_UINT, + G_TYPE_NONE, + 3, TELEPATHY_CONN_TYPE, TELEPATHY_CHAN_TYPE, G_TYPE_UINT); + + signals[PROCESS] = + g_signal_new ("process", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + empathy_marshal_VOID__UINT_BOOLEAN, + G_TYPE_NONE, + 2, G_TYPE_UINT, G_TYPE_BOOLEAN); +} + +static void +empathy_filter_init (EmpathyFilter *filter) +{ +} + +EmpathyFilter * +empathy_filter_new (void) +{ + static gboolean initialized = FALSE; + EmpathyFilter *filter; + DBusGProxy *proxy; + guint result; + GError *error = NULL; + + if (!initialized) { + dbus_g_object_type_install_info (EMPATHY_TYPE_FILTER, + &dbus_glib_empathy_filter_object_info); + initialized = TRUE; + } + + proxy = dbus_g_proxy_new_for_name (tp_get_bus (), + DBUS_SERVICE_DBUS, + DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS); + + if (!dbus_g_proxy_call (proxy, "RequestName", &error, + G_TYPE_STRING, "org.gnome.Empathy.Filter", + G_TYPE_UINT, DBUS_NAME_FLAG_DO_NOT_QUEUE, + G_TYPE_INVALID, + G_TYPE_UINT, &result, + G_TYPE_INVALID)) { + gossip_debug (DEBUG_DOMAIN, + "Failed to request name: %s", + error ? error->message : "No error given"); + g_clear_error (&error); + + return NULL; + } + g_object_unref (proxy); + + filter = g_object_new (EMPATHY_TYPE_FILTER, NULL); + dbus_g_connection_register_g_object (tp_get_bus (), + "/org/gnome/Empathy/Filter", + G_OBJECT (filter)); + + return filter; +} + +void +empathy_filter_process (EmpathyFilter *filter, + guint context_handle, + gboolean result) +{ + g_print ("hello\n"); + g_signal_emit (filter, signals[PROCESS], 0, context_handle, result); +} + +static gboolean +empathy_filter_handle_channel (EmpathyFilter *filter, + const gchar *bus_name, + const gchar *connection, + const gchar *channel_type, + const gchar *channel, + guint handle_type, + guint handle, + guint context_handle, + GError **error) +{ + TpChan *tp_chan; + TpConn *tp_conn; + + tp_conn = tp_conn_new (tp_get_bus (), + bus_name, + connection); + + tp_chan = tp_chan_new (tp_get_bus(), + bus_name, + channel, + channel_type, + handle_type, + handle); +g_print ("new channel\n"); + g_signal_emit (filter, signals[NEW_CHANNEL], 0, tp_conn, tp_chan, context_handle); + + g_object_unref (tp_chan); + g_object_unref (tp_conn); + + return TRUE; +} + diff --git a/trunk/src/empathy-filter.h b/trunk/src/empathy-filter.h new file mode 100644 index 000000000..071310bd4 --- /dev/null +++ b/trunk/src/empathy-filter.h @@ -0,0 +1,56 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __EMPATHY_FILTER_H__ +#define __EMPATHY_FILTER_H__ + +#include <glib.h> + +G_BEGIN_DECLS + +#define EMPATHY_TYPE_FILTER (empathy_filter_get_type ()) +#define EMPATHY_FILTER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_FILTER, EmpathyFilter)) +#define EMPATHY_FILTER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), EMPATHY_TYPE_FILTER, EmpathyFilterClass)) +#define EMPATHY_IS_FILTER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_FILTER)) +#define EMPATHY_IS_FILTER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_FILTER)) +#define EMPATHY_FILTER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_FILTER, EmpathyFilterClass)) + +typedef struct _EmpathyFilter EmpathyFilter; +typedef struct _EmpathyFilterClass EmpathyFilterClass; + +struct _EmpathyFilter { + GObject parent; +}; + +struct _EmpathyFilterClass { + GObjectClass parent_class; +}; + +GType empathy_filter_get_type (void) G_GNUC_CONST; +EmpathyFilter *empathy_filter_new (void); +void empathy_filter_process (EmpathyFilter *filter, + guint context_handle, + gboolean result); + +G_END_DECLS + +#endif /* __EMPATHY_FILTER_H__ */ diff --git a/trunk/src/empathy-filter.xml b/trunk/src/empathy-filter.xml new file mode 100644 index 000000000..e6b8daeef --- /dev/null +++ b/trunk/src/empathy-filter.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<node name="/Filter"> + <interface name="org.gnome.Empathy.Filter"> + <annotation name="org.freedesktop.DBus.GLib.ClientCSymbol" value="empathy_filter"/> + <method name="HandleChannel"> + <arg direction="in" type="s" name="bus_name" /> + <arg direction="in" type="o" name="connection" /> + <arg direction="in" type="s" name="channel_type" /> + <arg direction="in" type="o" name="channel" /> + <arg direction="in" type="u" name="handle_type" /> + <arg direction="in" type="u" name="handle" /> + <arg direction="in" type="u" name="context_handle" /> + </method> + <signal name="Process"> + <arg type="u" name="context_handle" /> + <arg type="u" name="result" /> + </signal> + </interface> +</node> diff --git a/trunk/src/empathy-main.c b/trunk/src/empathy-main.c new file mode 100644 index 000000000..a49611123 --- /dev/null +++ b/trunk/src/empathy-main.c @@ -0,0 +1,211 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2007 Collabora Ltd. + * + * 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. + * + * Authors: Xavier Claessens <xclaesse@gmail.com> + */ + +#include <config.h> + +#include <stdlib.h> + +#include <glib.h> +#include <glib/gi18n.h> +#include <gtk/gtk.h> + +#include <libgnome/gnome-program.h> +#include <libgnomeui/gnome-ui-init.h> + +#include <libmissioncontrol/mc-account.h> +#include <libmissioncontrol/mc-account-monitor.h> +#include <libmissioncontrol/mission-control.h> + +#include <libempathy/gossip-debug.h> +#include <libempathy/gossip-utils.h> +#include <libempathy/gossip-presence.h> +#include <libempathy/gossip-paths.h> +#include <libempathy-gtk/empathy-main-window.h> +#include <libempathy-gtk/empathy-status-icon.h> + +#include "empathy-filter.h" + +#define DEBUG_DOMAIN "EmpathyMain" + +static void error_cb (MissionControl *mc, + GError *error, + gpointer data); +static void service_ended_cb (MissionControl *mc, + gpointer user_data); +static void operation_error_cb (MissionControl *mc, + guint operation_id, + guint error_code, + gpointer user_data); +static void start_mission_control (MissionControl *mc); + +static void +error_cb (MissionControl *mc, + GError *error, + gpointer data) +{ + if (error) { + gossip_debug (DEBUG_DOMAIN, "Error: %s", error->message); + } +} + +static void +service_ended_cb (MissionControl *mc, + gpointer user_data) +{ + gossip_debug (DEBUG_DOMAIN, "Mission Control stopped"); +} + +static void +operation_error_cb (MissionControl *mc, + guint operation_id, + guint error_code, + gpointer user_data) +{ + gossip_debug (DEBUG_DOMAIN, "Error code %d during operation %d", + error_code, + operation_id); +} + +static void +account_enabled_cb (McAccountMonitor *monitor, + gchar *unique_name, + MissionControl *mc) +{ + gossip_debug (DEBUG_DOMAIN, "Account enabled: %s", unique_name); + start_mission_control (mc); +} + +static void +start_mission_control (MissionControl *mc) +{ + McPresence presence; + + presence = mission_control_get_presence_actual (mc, NULL); + + if (presence > MC_PRESENCE_OFFLINE) { + /* MC is already running and online, nothing to do */ + return; + } + + gossip_debug (DEBUG_DOMAIN, "Starting Mission Control..."); + + mission_control_set_presence (mc, + MC_PRESENCE_AVAILABLE, + NULL, + (McCallback) error_cb, + NULL); +} + +static void +new_channel_cb (EmpathyFilter *filter, + TpConn *tp_conn, + TpChan *tp_chan, + guint context_handle, + gpointer user_data) +{ + gossip_debug (DEBUG_DOMAIN, "Filtering context handle: %d", + context_handle); + empathy_filter_process (filter, context_handle, TRUE); +} + +int +main (int argc, char *argv[]) +{ + EmpathyStatusIcon *icon; + GtkWidget *window; + MissionControl *mc; + McAccountMonitor *monitor; + EmpathyFilter *filter; + gchar *localedir; + GnomeProgram *program; + gboolean no_connect = FALSE; + GOptionContext *context; + GOptionEntry options[] = { + { "no-connect", 'n', + 0, G_OPTION_ARG_NONE, &no_connect, + N_("Don't connect on startup"), + NULL }, + }; + + localedir = gossip_paths_get_locale_path (); + bindtextdomain (GETTEXT_PACKAGE, localedir); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); + g_free (localedir); + + context = g_option_context_new (_("- Empathy Instant Messenger")); + g_option_context_add_main_entries (context, options, GETTEXT_PACKAGE); + + g_set_application_name (PACKAGE_NAME); + + program = gnome_program_init ("empathy", + PACKAGE_VERSION, + LIBGNOMEUI_MODULE, + argc, argv, + GNOME_PROGRAM_STANDARD_PROPERTIES, + "goption-context", context, + GNOME_PARAM_HUMAN_READABLE_NAME, PACKAGE_NAME, + NULL); + + gtk_window_set_default_icon_name ("empathy"); + + /* Setting up channel filter */ + filter = empathy_filter_new (); + g_signal_connect (filter, "new-channel", + G_CALLBACK (new_channel_cb), + NULL); + + /* Setting up MC */ + monitor = mc_account_monitor_new (); + mc = gossip_mission_control_new (); + g_signal_connect (monitor, "account-enabled", + G_CALLBACK (account_enabled_cb), + mc); + g_signal_connect (mc, "ServiceEnded", + G_CALLBACK (service_ended_cb), + NULL); + g_signal_connect (mc, "Error", + G_CALLBACK (operation_error_cb), + NULL); + + if (!no_connect) { + start_mission_control (mc); + } + + /* Setting up UI */ + window = empathy_main_window_show (); + icon = empathy_status_icon_new (GTK_WINDOW (window)); + + gtk_main (); + + mission_control_set_presence (mc, + MC_PRESENCE_OFFLINE, + NULL, NULL, NULL); + + g_object_unref (monitor); + g_object_unref (mc); + g_object_unref (icon); + g_object_unref (program); + + return EXIT_SUCCESS; +} + diff --git a/trunk/src/org.gnome.Empathy.Chat.service.in b/trunk/src/org.gnome.Empathy.Chat.service.in new file mode 100644 index 000000000..6a794e4b8 --- /dev/null +++ b/trunk/src/org.gnome.Empathy.Chat.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=org.gnome.Empathy.Chat +Exec=@bindir@/empathy-chat |